程序员的自我修养-读书笔记(2)

3 目标文件里有什么

3.1 目标文件格式

1)可执行文件:PE(Windows)  和 ELF(linux), 都是COFF格式的变种。目标文件(.obj, .o)采用一样的格式。

2)动态链接库:(windows的.dll,linux的.so)

3) 静态链接库:(.lib, .a)

3.2 目标文件是什么样的

1)分成数据段和代码段的好处:1.代码段设为只读,防止误写。2.提高缓存命中率(数据缓存和指令缓存)。3.多个进程时,只有一份代码段节约内存。

 3.3 挖掘 .o

1) objdump -h simple.o  打印各个段的基本信息 (CONTENTS表示文件中实际存在)

    size simple.o 各个段的大小

    objdump -s -d simple.o (-s各个段十六进制打印, -d 将指令段反编译)

posted @ 2016-05-03 21:39  波罗蜜  阅读(196)  评论(0编辑  收藏  举报