Я пытаюсь понять разделы объектного файла ELF, на которые влияет C-код. Вот код, который я скомпилировал в a.out. С помощью 'nm' я наблюдаю, что 'b' и 'd' находятся в разделе инициализированных данных 'd'. 'c' и 'a' не перечислены в nm, вероятно, потому что они оптимизированы. Кто-нибудь знает почему?
Может ли кто-нибудь предоставить код, который лучше отображает вывод «nm», чтобы его было легче понять?
#include <stdio.h>
static int c;
int c;
int d = 2;
main(int argc, char argv[])
{
int a;
int b = 1;
printf("Hello world\n");
return(0);
}
Спасибо!