C++编译,链接
来源:互联网 发布:ubuntu 16.04安装php7 编辑:程序博客网 时间:2024/06/05 04:00
1、何谓编译,链接
高级语言(C,C++等等)要变成机器可执行的指令,需要“编译”,“链接”,“装入”三个过程,
编译:由编译程序将用户源代码编译成若干个目标模块,即.c/ .cpp----->.obj(windows) .o(unix),一般是一个源文件对应一个.obj文件,这个过程只是检查一下变量是否定义,并不会进行逻辑的检查
链接:链接就将各个编译后的模块组装起来,形成可执行的文件。这个时候,编译器并不管源文件在哪里,只要有中间文件(.obj文件)即可,在大多数时候,由于源文件太多,编译生成的中间目标文件太多,而在链接时需要明显地指出中间目标文件名,这对于编译很不方便,所以,我们要给中间目标文件打个包,在Windows下这种包叫“库文件”(Library File),也就是 .lib 文件,在UNIX下,是Archive File,也就是 .a 文件。
2 注意:在编译时,编译器只检测程序语法,检查变量,函数等是否被声明。如果函数未被声明,编译器会给出一个警告,但可以生成Object File。而在链接程序时,链接器会在所有的Object File中找寻函数的实现,如果找不到,那到就会报链接错误码(Linker Error),在VC下,这种错误一般是:Link 2001错误,意思说是说,链接器未能找到函数的实现。你需要指定函数的Object File.(这段来源于网络)
过程:源文件-----》中间文件----》可执行文件
ref:http://blog.csdn.net/mylinx/article/details/6802318
- c编译链接过程
- C 编译、链接、加载
- C语言编译、链接
- C 编译、链接、加载
- C 编译、链接、加载
- 【C++】编译链接过程
- C 编译、链接、加载
- C 编译、链接、加载
- c语言编译链接
- C语言编译 链接
- c语言编译链接
- 【C/C++】编译和链接
- C/C++编译链接原理
- c 程序的编译链接
- C mysql编译链接问题
- c语言编译、链接过程
- c/c++编译链接过程
- C语言 编译、链接、全局变量
- UVa10344
- sigma机顶盒芯片
- HDU 1066 Last non-zero Digit in N!
- 【汇编】第二章 8086指令系统初步
- Session知识
- C++编译,链接
- 最长有序子序列—动态规划算法
- 利用Message Crackers简化消息映射
- USB设备开发---- USB固件开发
- session共享
- 在linkedin上看到的某一家公司招聘视频开发人员的jd
- Session方法Clear、RemoveAll、Abandon的联系与区别之我见
- Red Hat 没有ifconfig命令
- 对《不使用*、/、+、-、%操作符求一个数的1/3》中算法的理解