我写了一个非常基本的Hello World
程序来了解各个部分。使用objdump
后,我得到了所有部分。我正在使用ubuntu 12.04
。
在输出中我发现它是这样的:
反汇编部分.init
反汇编.plt
反汇编.text
__ do_global_dtors_aux
- 醇>
反汇编.fini
我想知道这些部分是什么?他们存储了哪些数据?特别.plt
和.fini
。关于.init
和.text
我可以猜到,但其他人呢?
答案 0 :(得分:5)
你应该谷歌:here is the first result。了解有关ELF格式的更多信息是一个良好的开端。
关于.init
和.fini
,it's here。
答案 1 :(得分:0)
我想提到的下一部分是.plt部分。这包含在我们调用共享库中的函数时使用的跳转表。
调用.fini
本节包含有助于进程终止代码的可执行指令。也就是说,当程序正常退出时,系统会安排执行本节中的代码。
答案 2 :(得分:0)