GCC有没有外部类型检查功能?

[复制链接]
查看12 | 回复12 | 2013-9-27 08:29:38 | 显示全部楼层 |阅读模式
回复 5# bensenq main.c中这个func不是弱符号吗?我也只有查到在本目标文件中定义的函数和初始化了的全局变量为强符号,本目标文件中定义的未初始化全局变量为弱符号,而在本目标文件中使用extern引用的符号不属于强弱符号定义的范畴。 http://blog.21ic.com/user1/7747/archives/2010/77582.html这里似乎属于隐含的extern?是吗?记得哪里看到过全局的函数/变量默认extern,能找到官方提及的这部分知识吗?
       
       
       
                 查看原帖
回复

使用道具 举报

千问 | 2013-9-27 08:29:38 | 显示全部楼层
+1
                已赞过
回复

使用道具 举报

千问 | 2013-9-27 08:29:38 | 显示全部楼层
真能编译通过? 不会报LINK找不到引用函数的错误么--
               
       
       
                 查看原帖
回复

使用道具 举报

千问 | 2013-9-27 08:29:38 | 显示全部楼层
+1
                已赞过
回复

使用道具 举报

千问 | 2013-9-27 08:29:38 | 显示全部楼层
非常感谢!!这些关键词给了我很多信息!另外attribute(weak)让我想起了Linux内核中的一些实例。再次感谢!回复 3# zodiac1111
               
       
       
                 查看原帖
回复

使用道具 举报

千问 | 2013-9-27 08:29:38 | 显示全部楼层
+1
                已赞过
回复

使用道具 举报

千问 | 2013-9-27 08:29:38 | 显示全部楼层
这应当与强符号和弱符号无关,而与函数名称修饰有关。对于c语言,编译器产生的最终名称,是不包含函数的参数的信息的。所以,int function(int arg1, int arg2)和int function(int arg1)产生的名称相同。在链接时,所以没有问题。如果换为c++就会检查出这种错误,因为c++是包含参数的信息的。
               
       
       
                 查看原帖
回复

使用道具 举报

千问 | 2013-9-27 08:29:38 | 显示全部楼层
+1
                已赞过
回复

使用道具 举报

千问 | 2013-9-27 08:29:38 | 显示全部楼层
非常感谢!回复 7# 井蛙夏虫
               
       
       
                 查看原帖
回复

使用道具 举报

千问 | 2013-9-27 08:29:38 | 显示全部楼层
+1
                已赞过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行