IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    229 - 问,编译器将未初始化的全局变量定义作为弱符号处理

    鸠摩智(everettjf)发表于 2012-12-20 15:45:00
    love 0

    COMMON块,

    当所需空间大小不一致时,以最大的为准。

    COMMON类型,

    如果其中一个符号为强符号,那么最终输出结果中的符号所占空间与强符号相同。

    由于链接器不支持符号类型,导致允许不同类型的弱符号存在。

    编译阶段任何一个弱符号将来所占空间的大小都是未知的,但链接之后,所有符号所占空间的大小都已经确定,可以在最终的输出文件的BSS段为其分配空间。

    总体来看,未初始化的全局变量最终还是放到了BSS段。



    鸠摩智(everettjf) 2012-12-20 23:45 发表评论


沪ICP备19023445号-2号
友情链接