静态本地C变量后跟汇编代码中的数字。这个数字是随机的吗?

时间:2014-04-14 08:57:52

标签: c gcc assembly static

我想知道汇编程序中本地静态变量名后面的数字是随机的还是有意义的 我用Debian wheezy的gcc v.4.7.2编译了一个样本C源代码;汇编程序列表显示包含以下内容的行:

.comm   i.1705,4,4

1705来自哪里? 提前谢谢。

以下是来源:

int main() { static int i=0; return i; } 

1 个答案:

答案 0 :(得分:1)

它可能是编译期间遇到的所有标识符的一些计数器。如果我把另一个声明放在后面,它会给我下一个数字。如果我把另一个非静态的对象放在两者之间,差异就是2。