linux中C语言编程问题

#include<stdio.h>inti=3;__attribute__((weak))inti=2;intmain(void){printf("i=%d\n",i);... #include <stdio.h>
int i = 3;
__attribute__ ((weak)) int i = 2;
int main(void)
{
printf("i = %d\n", i);
return 0;

}
为什么定义为弱符号了还提示我重复定义啊??强符号不是能覆盖弱符号吗
展开
 我来答
Roxxette
2013-04-22 · TA获得超过828个赞
知道小有建树答主
回答量:1341
采纳率:0%
帮助的人:823万
展开全部
weak不是这么用的,它主要是在动态库中定义接口,供库用户调用自定义函数。
你可以看下wiki的例子:
http://en.wikipedia.org/wiki/Weak_symbol

weak也可以用在变量上面。语法应该是这样的:
int i __attribute__ ((weak)) = 2;
220111432
2013-04-22 · TA获得超过163个赞
知道答主
回答量:88
采纳率:0%
帮助的人:96.4万
展开全部
应该不可以,编译器还没达到这么智能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式