2013-07-04 63 views
5

我写了一个非常基本的Hello World程序来了解部分。使用objdump后,我得到了所有部分。我正在使用ubuntu 12.04在c程序中拆卸部分

在输出我发现它类似的:

部的
  1. 拆卸的.init

  2. 部.PLT

  3. 拆卸部分的拆卸的.text

  4. __do_global_dtors_aux

  5. 部分调用.fini

我想知道的那些部分是拆卸?他们存储什么数据?特别是.plt.fini。关于.init.text我可以猜到,但其他人呢?

+0

我知道你们是怎么编译该文件 –

+0

第一'的gcc -o objectfile programname.c' 然后'objdump的objectfile'。 – someone

回答

0

From this handy page

下一节我想提的是.plt节。这包含我们在共享库中调用函数时使用的跳转表。

而且from this page

调用.fini

本节认为有助于进程终止代码可执行指令。也就是说,当程序正常退出时,系统会安排执行本节中的代码。

0

你可能会发现这个简短的教程很有帮助。它还包含相关文献的链接。

“揭秘链接器,第1部分”:http://www.rtos.be/?p=2166

我希望它能帮助。

费尔南多