符号表本地静态变量名称

时间:2013-02-16 05:16:47

标签: c compilation symbols

为什么符号表中的局部静态变量的名称中添加了一个数字?

int main(void) {
    static stat_var = 20;

    return 0;
}

8:0000000000000008 4 OBJECT LOCAL DEFAULT 2 stat_var .1604

1 个答案:

答案 0 :(得分:5)

可以有许多具有相同名称的本地静态变量(跨不同的函数)。编译器给它们消除歧义的后缀,以避免潜在的名称冲突。