cmake-make-gcc

本文介绍了C程序的编译流程,从使用gcc手动编译简单代码到在大型项目中运用make和cmake进行自动化构建。gcc是基本的编译工具,make基于makefile进行批处理编译,而cmake则用于生成makefile,简化复杂工程的构建。此外,还提到了autotools和qmake等其他生成makefile的工具。
摘要由CSDN通过智能技术生成

在运行 C 程序时,我们都知道需要通过 gcc(GNU Compiler Collection,可以编译C、C++、Objective-C、Fortran、Java等编写的源代码) 将源代码编译为二进制文件,才能够执行。

gcc

简单代码使用 gcc 可直接编译。具体过程如下:

## 创建源文件
vim hello.c

编写源代码:

// 写入如下C代码
#include<stdio.h>

int main() {
    printf("hello 20210203 \n");
    return 0;
}

编译源代码为机器码:

# 使用gcc编译
gcc hello.c -o hello
# 也可以将-o和hello写在一起
gcc hello.c -ohello
# 如果有多个源文件,可以这样编译
gcc hello1.c hello2.c -o hello
# 运行的结果
./hello

这是一个小程序,可以使用该方法编译。但是,当在大型程序开发时,这种方法就显得笨拙。这时常使用 make 和 cmake 来自动进行编译。

make

make 基于 makefile,其中 makefile 中包含了 gcc 进行编译的各种命令,make 通过 makefile 进行批处理。

对于相对简单的 makefile 可以使用人工进行书写,但是,对于复杂的工程,makefile 也将会变得很复杂,这时就需要一个自动创建 makefile 的工具,那就是 cmake。

cmake

cmake 可以创建 makefile,方便 make 进行编译。但是 cmake 需要 CMakeLists.txt 才能够生成 makefile. 而一般 CMakeLists.txt 是非常简单的。

需要知道的是,出了 cmake,还有autotools,qmake等可生成 makefile。

参考链接

  1. gcc,make,cmake傻傻分不清楚?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值