я учусь связывать ..
я написал следующий код в c и сделал .o, используя gcc
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
теперь, когда я проверял symtab с помощью readelf, записи z не было ... почему?
также как gcc разрешает два 'y'?
и в разделе .data как различаются два символа 'x'?