g++,gcc,make,cmake,makefile,vscode,vs之间的关系
编译过程是源文件 -预编译-.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,是一个完整的集成开发环境

浙公网安备 33010602011771号