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

本文介绍了C/C++编程中常见的文件类型及其作用,包括源文件(.c, .cpp, .h)、预处理后的文件(.obj, .o)、静态库(lib/a)、动态库(dll/so)以及可执行文件(bin)。编译过程从源文件开始,经过预处理、编译生成目标文件,再通过链接形成最终的可执行程序。静态库在编译时嵌入,而动态库在运行时加载。bin文件通常指二进制文件,可能是可执行程序或数据文件。"
84677471,8241545,Centos7安装FFmpeg踩坑指南,"['ffmpeg', 'centos', 'Linux', '服务器', '视频处理']
最低0.47元/天 解锁文章
8761

被折叠的 条评论
为什么被折叠?



