我正在学习链接..
我用c编写了以下代码并使用gcc制作了.o
int f()
{
static int x=0;
return x;
}
extern int z;
int g()
{
static int x=10;
return x;
}
static int y;
static int y=9;
int main()
{
return 0;
}
然后我把它变成了.o:
gcc begin.c -o begin.o
现在,当我使用 readelf 检查 symtab 时,没有 z 的记录……为什么?
gcc如何允许两个'y'?
在 .data 部分中,两个“x”是如何区分的?