目录

  • 一、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将程序编译并运行

ubuntu 编译android源码需要多少G空间 ubuntu 编译运行c_语言程序

二、Windows环境下编译运行C语言程序

1、在Windows环境下编写程序sub1.hmain1.c 2、编译并运行

ubuntu 编译android源码需要多少G空间 ubuntu 编译运行c_语言程序_02

三、使用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、编译并执行

ubuntu 编译android源码需要多少G空间 ubuntu 编译运行c_语言程序_03

四、对Makefile作用的初步了解

  Makefile是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。把要链接的库文件放在 Makefile 中,制定相应的规则和对应的链接顺序。这样只需要执行 make 命令,工程就会自动编译。
  总而言之,Makefile 可以使得我们的项目工程的编译变得自动化,不需要每次都手动输入一堆源文件和参数。

相关参考:
Ubuntu系统使用gcc和Makefile编译C程序.
Ubuntu16.04下C语言的编译及makefile的应用.