C语言 浮动目标文件,数据段

sdnqo3pr  于 2023-11-16  发布在  其他
关注(0)|答案(1)|浏览(112)

我只是写了一个简单的c程序,然后生成了一个可重定位的目标文件,以便对目标文件的不同方面有更多的了解,这是源代码:

int main(void)
{
 static int a = 1 ;
 int b = 2 ;
 b = a + b ;
 return 0;
}

字符串
问题是为什么在数据段中包含汇编指令:

0000000000000000 <a.0>:
   0:   01 00                   add    %eax,(%rax)


我希望数据部分包含初始化数据的地址
我在wsl 2 ubuntu上运行gcc,命令如下:gcc -o file. c file.o

bn31dyow

bn31dyow1#

你在展示它是以01 00开头的。

0:   01 00                   add    %eax,(%rax)
        ^^^^^

字符串
这正是我们所期望的开始。(接下来的两个字节将是00 00。)当然,如果你把它解释为代码,它将是add %eax,(%rax)。但它不是代码。它是一个32位有符号整数。

相关问题