什么是c语言中的目标文件
2015-07-24 15:31
169 查看
c语言的编译分成编译和 链接两个阶段。
在编译阶段,经过预处理,对宏定义指令进行替换,对条件编译指令进行处理,对#include指令里面的头文件进行添加后,
然后将其翻译成汇编代码,同时对代码进行优化,
然后是汇编过程,将汇编代码翻译成机器指令,得到相应的包含代码段和数据段的目标文件。
链接阶段,将调用的库文件的函数,引用的另一个源文件的变量符号、函数调用。将这些有关的目标文件连接起来,形成统一的可执行文件
在编译阶段,经过预处理,对宏定义指令进行替换,对条件编译指令进行处理,对#include指令里面的头文件进行添加后,
然后将其翻译成汇编代码,同时对代码进行优化,
然后是汇编过程,将汇编代码翻译成机器指令,得到相应的包含代码段和数据段的目标文件。
链接阶段,将调用的库文件的函数,引用的另一个源文件的变量符号、函数调用。将这些有关的目标文件连接起来,形成统一的可执行文件
相关文章推荐
- 把C++类成员方法直接作为线程回调函数
- C++对象模型5--多继承下的对象模型
- namespace的用法
- C++实现的BSON bson-cpp的编译
- c++vector简单实现
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./xxxx
- C++中引用不能重新赋值的理解
- C++利用Crypto++,vs2005环境下的RSA应用
- C++对象模型2--指针cout结果
- (转)C++ STL中list的用法
- 关于C++二维指针
- C语言中对结构体或数组清零的最快方法
- 【C++】用C编写一个my2DAlloc函数,可以分配二维数组。
- C++实现“隐藏实现,开放接口”的方案
- Sublime2 配置python 和 c++
- 关于C\C++运行时库的多线程版本的工作记录
- C++ STL,ATL,WTL之间的联系和区别
- 关于直方图规范化的C++编程实现_2015_7_24
- Effective C++:规定27:尽量少做动作的过渡
- 关于C语言中的预处理指令