在Ubuntu系统使用Makefile编译C程序

一、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.hmain1.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的应用.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值