摘要: 四个阶段分别是: 预处理,编译,组装,链接 1. 预处理将头文件展开,将宏定义替换,生成符号文件.S 2. 编译则包含了词法检查,语法检查,权限检查, 代码优化 3. 组装:将编译后的代码组装成机器码, 形成位置无关的目标文件 .o 4. 链接将多个位置无关的目标文件合并成可执行文件 可见组装才是平 阅读全文
posted @ 2020-02-28 10:03 SnailRush 阅读(1652) 评论(0) 推荐(0) 编辑
摘要: 符号表是编译期产生的一个hash列表,随着可执行文件在一起 示例程序 符号表包括了变量和函数的信息,以及调试信息,可以通过nm 命令查看符号表 可见这里还包含了位置 , 变量和函数都能看到。 还有debug信息 通过readelf S a.out 可以查看所有符号表头信息 nm 和readelf 还 阅读全文
posted @ 2020-02-28 00:27 SnailRush 阅读(5845) 评论(1) 推荐(2) 编辑