链接

来源:互联网 发布:熊猫智能采集软件 编辑:程序博客网 时间:2024/05/21 07:07

链接器处理多重定义的全局符号:

  • 规则1:不允许多个同名强符号(会error)
  • 规则2:如果有一个强符号和多个同名弱符号,会选择强符号(意味着弱符号会被刷掉)
  • 规则3如果有多个弱符号同名那么从中任选一个
    如果x在一个模块中定义为全局的double另一个模块里定义成全局的int编译器会选择double型存储,这些错误会在很远的地方爆发。
    用GCC -fno-common这个选项会告诉链接器遇到多重定义符号会触发一个错误。-Werror把所有警告当做错误处理
原创粉丝点击