您的位置:首页 > 职场人生

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

2012-12-31 15:41 375 查看
第二章 编译和链接

1. 预处理、编译、汇编和链接

比如source code and Header files----预处理----》preprocessed(.i文件)------编译------》assembly(.s文件)--------汇编--------》object file(.o文件)------and static/dynamic library-----链接------》executable(.out文件)

2. 预编译的主要处理规则

将所有的"#define"删除,并且展开所有的宏定义

处理所有条件预编译指令

处理"#include",将包含的文件插入到该预编译指令的位置。注意,这个过程是递归进行

删除所有注释

添加行号和文件名标识,以便于调试和编译产生的错误和警告

保留所有"#pragma"指令,编译器需要使用它们

3. 目标代码的地址还没确定怎么办?连接器的作用。

静态链接——模块拼装

链接过程:地址和空间的分配、符号决议(静态的)、重定位
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: