ARM/x86中全局变量(静态与非静态)对比

本文对比了在ARM和x86平台上全局变量(静态与非静态)的编译表现。ARM中,全局变量使用EXPORT标识,初始化的变量位于.data段,未初始化的在.bss段。而x86中,全局变量用PUBLIC标识,同样初始化的在_DATA段,未初始化的在_BSS段,未使用的静态全局变量不分配空间。
摘要由CSDN通过智能技术生成

使用VS2005 编译,enable /TP 编译选项(Compile as C++ Code)/FA 编译选项. 文中描述的全局变量为非静态全局变量

C++ 代码:

         static int nsInitGlobal = 1;

static int nsUninitGlobal ;

 

int nInitGlobal = 1;

int nUninitGlobal ;

 

int _tmain (int argc , _TCHAR * argv [])

{

     return 0;

}

ARM4 对应汇编代码:

EXPORT     |?nUninitGlobal @@3HA| [ DATA ]       ; nUninitGlobal

  EXPORT    |?nInitGlobal @@3HA| [ DATA ]         ; nInitGlobal

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值