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,是一个完整的集成开发环境

posted @   纸包鱼  阅读(618)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
点击右上角即可分享
微信分享提示