借鉴http://www.cnblogs.com/skynet/p/3372855.html
在我们日常编译过程中,常遇到各种后缀的文件,诸如题目中的,加上编译 链接,预处理等等乱七八糟很混乱,今天有幸总结了下。记下来防止以后忘了。
首先讲一下程序编译连接的过程
首先,由编辑器产生源文件。诸如.c .cpp的是源文件,纯文本格式。还有.h文件,是头文件,为用得比较多的函数什么的,类,放在一起,方便一个include就可以解决。此外头文件一般用一个同名的cpp放比较好,这样主要好辨识么。
这样原本文件就凑够了。接下来就是预处理什么的。预处理主要是宏替换,或者头文件替换。吧include的地方替换为头文件里。把#开头的地方用员意替换。
接着就是编译。把源文件.cpp编译成为。obj文件,在linux下就是.o文件。此时对于头文件里的东西只有声明而没有实现。实现是单独进行的。<