Where there is a dream ,there is hope

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  64 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

常用链接

留言簿(1)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

1.对于C/C++语言来说,编译器默认函数和初始化了的全局变量为强符号,未初始化的全局变量为若符号。
2.强符号规则:一、不允许强符号被多次定义。二、如果一个符号在某目标文件中是强符号,在其他文件中是若符号,那么选择强符号
3.如果一个符号在所有的目标文件中都是若符号,则选择其中占用空间最大的一个如:A定义全局变量GLOBAL为INT型,占4个字节,目标B定义GLOBAL为DOULBE型,占8个字节,那么目标文件A和B链接后,符号GLOBAL占8个字节。

4.强引用,对外部目标文件的符号引用在目标文件被最终链接成可执行文件时,它们必须要被正确决议,如果没有找到该符号的定义,链接器就会报符号未定义错误,这种被称为强引用。与之相对应的还有一种弱引用,原理与强引用一模一样,只不过链接器不认为这是一个错误。
5.链接时符号未定义,导致这个问题的情况非常多,最常见的一般就是链接时缺少某个库。或者输入目标文件路径不正确或符号的声明与定义不一样。
posted on 2011-08-25 12:24 IT菜鸟 阅读(311) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理