编译过程是源文件 -预编译-.i文件 -编译-.s文件 -汇编-.o文件 -链接-可执行文件、
gcc和g++都是编译器,不过gcc处理cpp时不能直接连接标准库,g++可以直接连接,所以cpp一般用g++
gcc、g++
操作选项(以GNU
编译器为准)
-E
预处理选项,生成.i
文件
-S
编译选项,生成.s
汇编文件
-c
汇编选项,将汇编文件编译成二进制文件
-o
生成可执行目标文件选项
-I
(大写的i
) 将设置增加 #include <>
标准库的查找目录
-fPIC
共享库代码段复用,代码段安全访问的目的,编译动态库时用到
-L
指定链接库的路径,LD_LIBRARY_PATH
:此库文件不在缺省目录下 /lib和/usr/lib,那么就需要指定环境变量LD_LIBRARY_PATH。
-l(小写l)指定程序要链接的库,后面紧跟库名
makefile文件中描述了整个软件工程的编译规则和各个文件之间的依赖关系,有点像sh文件
makefile文件要通过make来运行,然后make install安装,一般的包安装就是三部曲,./configure,make,make install
cmake
是跨平台的安装编译工具,只需要编写CMakeList.txt
文件,能够自动生成工程文件和makefile
文件,相当于在make上又封装了一层
vscode是一个编辑器,不是编译器,vs是IDE,是一个完整的集成开发环境
标签:文件,gcc,cmake,++,make,makefile,编译 From: https://www.cnblogs.com/uestc-du/p/16887046.html