[英]Static local C variables are followed by a number in assembler code. Is that number random?
我想知道汇编程序中本地静态变量名称后面的数字是随机的还是有意义。
我在Debian wheezy中用gcc 4.7.2版编译了一个示例C源代码。 汇编程序清单显示一行包含:
.comm i.1705,4,4
1705来自哪里? 先感谢您。
来源如下:
int main() { static int i=0; return i; }
它可能是编译期间遇到的所有标识符的计数器。 如果我在后面加上另一个声明,它将给我下一个数字。 如果我放置另一个非静态对象,两者之间的差为2。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.