我想知道汇编程序中本地静态变量名后面的数字是随机的还是有意义的 我用Debian wheezy的gcc v.4.7.2编译了一个样本C源代码;汇编程序列表显示包含以下内容的行:
.comm i.1705,4,4
1705来自哪里? 提前谢谢。
以下是来源:
int main() { static int i=0; return i; }
答案 0 :(得分:1)
它可能是编译期间遇到的所有标识符的一些计数器。如果我把另一个声明放在后面,它会给我下一个数字。如果我把另一个非静态的对象放在两者之间,差异就是2。