Ubuntu16.04系统中分别使用gcc与makefile编译C语言程序

序、准备工作——编写C语言程序

  • 编写main1.c
#include "stdio.h"

int main()
{
     int a=3;
     int b=7;
     printf("a/b=%f",x2x(a,b));
     return 0;
}
  • 编写sub1.h
#ifndef __SUB1_H
#define __SUB1_H

#include "stdio.h"

float x2x(int a,int b);

#endif
  • 编写sub.c
include "sub1.h"

float x2x(int a,int b)
{
      float x;
      x=(float)a/b;
      return x;
}

一、用gcc编译C语言程序

步骤一

  • 用gcc命令将sub1.c转换为sub1.o
    命令:gcc -c sub1.c

步骤二

  • 用gcc命令将main1.c编译为main1.o,并将其与sub1.o文件链接生成main1可执行文件
    命令:gcc main1.c sub1.o -o main1

步骤三

  • 执行main1文件
    命令:./main1
    运行结果示例

二、用makefile方式编译C语言程序

步骤一

  • 编写makefile文件
main1:sub1.o main1.c
	gcc main1.c sub1.o -o main1
	
sub1.o:sub1.c
	gcc -c sub1.c -o sub1.o
	
clean:
	rm *.o

步骤二

  • 执行makefile文件
    命令:make
    运行示例

步骤三

  • 执行编译生成的可执行文件main1
    命令:./main1
    运行结果示例

三、与Windows系统下的编程对比

  • 平台:Visual Studio 2013

步骤一

  • 编写sub1.h文件
    在这里插入图片描述
  • 编写main1.c文件
    在这里插入图片描述

步骤二

  • 运行程序
    在这里插入图片描述
    与Ubuntu系统下的C语言程序编译相比,在Windows系统中的C语言程序只可以编译一个.c文件加上多了.h文件;而在Ubuntu系统下是由多了.c文件转换生成的.o文件连接成一个可执行的程序运行。

四、总结

在Ubuntu系统下的C语言程序编译,无论是直接使用gcc方式编译还是使用makefile文件的方式编译都需要将.c文件先转换成.o文件,再连接成一个可执行的程序这样的方式一步步实现,而不像在Windows系统下的编译平台中一键编译。这样的方式虽然不够简便,但可以更加直观的让我们了解高级语言程序在编译的时候所经历的步骤,如何变成可以被机器识别的可执行程序。

五、参考资料

https://blog.csdn.net/qq_45237293/article/details/108741893.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值