Ubuntu系统使用gcc和Makefile编译C程序

目录

(一)直接使用gcc编译C程序
        1.创建main1.c和sub1.c
        2.编写C程序
        3.gcc直接编译
(二)与windows平台编程对比
(三)使用Makefile编译c程序
(四)总结

(一)直接使用gcc编译C程序
1.创建main1.c 和sub1.c sub1.h
在这里插入图片描述2.编写程序
2.1编写main1.c

#include"sub1.h"

int main()
{
	int x=2,y=4;            //定义x和y变量
	printf("%.2f\n",x2x(x,y));      //输出处理后的值,保留两位小数
	return 0;
}

main2.c

#include"sub1.h"

int main()
{
	int x=2,y=9;            //定义x和y变量
	printf("%.2f\n",x2x(x,y));      //输出处理后的值,保留两位小数
	return 0;
}

2.2编写sub1.c

#include "sub1.h"

/*******************/
/*     参数:a,b	   */
/*    返回值:ans    */
/*******************/
float x2x(int a,int b)
{
	float ans;
	ans=(float)b/a;
	return ans;
}

2.3编写sub1.h

#ifndef __SUB1_H
#define __SUB1_H

#include<stdio.h>

float x2x(int a,int b);         //计算b除以a的结果

#endif

3.直接编译
在这里插入图片描述

(二)与windows平台编程对比
使用Dev-C++
编写main.c文件

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

运行结果在这里插入图片描述

(三)使用Makefile编译c程序
输入命令安装make
sudo apt-get install make
1.Makefile文件编写规则

target:prerequisites
	command			# command以一个tab键开始

# target为一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label)
# prerequisites是需要生成target所依赖的文件或是目标
# command也就是make需要执行的命令。(任意的Shell命令)

2.编写makefilefile文件

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 

注意:每条指令之前必须用tab开头,不能用八个spaces代替,否则编译时会出错!!!

此时输入“ll“指令,列出当前文件夹中的所有文件。
在这里插入图片描述

在源文件目录下执行命令make,即可编译得到可执行文件main1

在这里插入图片描述
删除编译产生的中间文件
在源文件目录下执行命令make clean,即可删除编译过程中产生的*.o文件
在这里插入图片描述

(四)总结
本次实验是我首次安装虚拟机使用Ubuntu,由于从未接触过Linux系统,在进行实验的过程中遇到了一系列的问题和麻烦,甚至将虚拟系统给整崩溃了,这让我初学感到十分困难,然而在查阅资料,请教他人后,逐渐开始了解该系统的编程流程和逻辑,发现熟悉上手后并未有想象中那般困难,最终成功的将实验完成,为日后的系统程序设计打下了基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值