这是直接输出变量和书里面的代码的汇编结果比较:
差别就在于一个是 movl,一个是 movq。所以我把书上的代码改了一下:
// extern "C" double _ZN6myname1aE; extern "C" int _ZN6myname1aE;
这样得到的汇编结果就是一样的,输出也是正常的。