理解linux编译工具 gcc、g++、cmake、make、makefile、makelist.txt 关系

本文详细介绍了Linux下常用的编译工具,如GCC、G++、CMake、Make以及Makefile和CMakeList.txt的关系。GCC是GNU的编译器套装,G++是GCC对C++的增强版。Make工具用于批量处理源文件编译,而CMake是跨平台的编译工具,通过CMakeList.txt生成Makefile。在编译流程中,源码经过预处理器、编译器、汇编程序和链接器生成可执行程序。CMakeLists.txt则简化了在不同平台上的编译配置。
摘要由CSDN通过智能技术生成

总体概括:

        cmakeList.txt ----->cmake工具---->makefile文件(包含gcc/g++命令)---->make工具---->编译连接源文件

编译器的工作流程:

         源码(source code)---->预处理器(preprocessor)---->编译器(compiler)---->汇编程序(assembler)---->目标代码(target code)---->链接器(linker)---->可执行程序(executable)

GCC:全称GNU Compiler Collection,是GNU编译器套装,最开始是编译c语言,后来可处理c++、java等语言

G++:是GCC对C++的升级版本

Make:是批处理工具,通过规则文件makefile调用GCC等实现编译

CMake:是跨平台编译工具,依赖规则文件CMakeList.txt生成makefile

GCC

  • 基本用法

语法: gcc/g++   [options]   file...

gcc [-E | -S | -c]  [-std=standrad] 

  [-g]  [-Idir]  [-Ldir]

  [-o outfile]

 

基本选项

-E      Preprocess only; do not compile, assemble or link        预处理
-S      Compile only; do not assemble or link                            编译,生成 .s 汇编代码
-c       Compile and assemble, but do not link                           编译和汇编,生成 .o 的 obj 文件
-o       <file> Place the output into <file>                                    链接,将 .o 链接到指定的可执行文件,若不指定可执行文件的名称,默认为 a.out

目录选项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值