目录
- 一、Ubuntu20.04下编译运行C语言程序
- 二、Windows环境下编译运行C语言程序
- 三、使用Makefile编译运行C语言程序
- 四、对Makefile作用的初步了解
一、Ubuntu20.04下编译运行C语言程序
1、编写程序sub1.h
float x2x(int a, int b){
return (a + b) * (a - b)/2.0;
}
2、编写程序main1.c
#include <stdio.h>
#include "sub.c"
int main(){
int a = 10;
int b = 3;
float ans = x2x(a, b);
printf("(a + b) * (a - b)/2 = %f\n", ans);
return 0;
}
3、使用gcc
将程序编译并运行
二、Windows环境下编译运行C语言程序
1、在Windows环境下编写程序sub1.h
与main1.c
2、编译并运行
三、使用Makefile编译运行C语言程序
- 1、Makefile介绍:
Makefile 可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。其中包含了那些文件需要编译,那些文件不需要编译,那些文件需要先编译,那些文件需要后编译,那些文件需要重建等等。编译整个工程需要涉及到的,在Makefile 中都可以进行描述。换句话说,Makefile 可以使得我们的项目工程的编译变得自动化,不需要每次都手动输入一堆源文件和参数。
- 2、Makefile文件编写规则
target : prerequisites
command
target是一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label),对于标签这种特性,在后续的“伪目标”章节中会有叙述。
prerequisites是需要生成那个target所需要的文件或是目标。
command也就是make需要执行的命令。(任意的Shell命令)
- 3、编写Makefile文件
main1: main1.o sub.o
gcc main1.o sub.o -o main1
main1.o: main1.c
gcc -c main1.c
sub.o: sub.c
gcc -c sub.c
clean:
rm main1 *.o
- 4、编译并执行
四、对Makefile作用的初步了解
Makefile是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。把要链接的库文件放在 Makefile 中,制定相应的规则和对应的链接顺序。这样只需要执行 make 命令,工程就会自动编译。
总而言之,Makefile 可以使得我们的项目工程的编译变得自动化,不需要每次都手动输入一堆源文件和参数。
相关参考:
Ubuntu系统使用gcc和Makefile编译C程序.
Ubuntu16.04下C语言的编译及makefile的应用.