符号表本地静态变量名称

Ake*_*eel 3 c symbols compilation

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

int main(void) {
    static stat_var = 20;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

8:0000000000000008 4 OBJECT LOCAL DEFAULT 2 stat_var .1604

Ply*_*ynx 5

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