👷项目是怎样构建的

在正式开始写代码之前,我们先了解一下项目的构建方式。

C程序是怎样生成的

// hello.c
#include <stdio.h>

int main() {
    printf("Hello, WinterCode!\n");
    return 0;
}

C程序,或者说C家族程序从源代码到可执行程序的过程可以用下图表示:

C程序的构建过程

经过了编译预处理、编译、汇编、链接四个阶段。

linux下使用gcc构建c程序的过程(以hello.c为例)可以用如下命令表示:

当然,如果是单模块的话也可以合并为一个命令:

之后,我们只需要运行二进制文件hello就可以运行我们的程序了。

C项目是怎样搭建的

我们以WhaleMarket的Makefile为例来看一下C工程是如何搭建的。

其中我们关注如下内容:

现阶段你或许不需要详细了解Makefile的全部含义,当然,如果你感兴趣,可以查看这个链接: https://blog.csdn.net/weixin_38391755/article/details/80380786

这个约定是通过下面三条定义来实现的:

什么是模块

一个模块通常是由一个头文件和一个或者多个源文件构成的。

比如说下面的hello.h和hello.c就构成了一个模块。

我们可以在其他模块里面通过包含该模块的头文件来使用该模块中的内容。

那这个简单的双模块项目的编译执行过程可以用如下命令表示:

结合上述简单双模块程序的构建,或许你现在可以看懂一些些我们的Makefile了。

最后更新于

这有帮助吗?