Ubuntu系统用gcc命令行方式和Makefile方式编译主程序

一、用gcc命令行方式编译C程序

1.编写C程序

(1)虚拟机桌面右键,点击“在终端打开”,输入touch main1.c即可创建一个新的名为main1.c的文件。
在这里插入图片描述
(2)在main1.c文件里编写以下主程序代码。
在这里插入图片描述
(3)输入touch sub1.h命令建立一个名为sub1.h的文件。
在这里插入图片描述
(4)在sub1.h文件编写如下代码。
在这里插入图片描述
(5)建立sub1.c文件并编写以下代码。
在这里插入图片描述

2.gcc编译

(1)输入gcc -c sub1.c命令将sub1.c程序转换为目标文件sub1.o
(2)输入gcc main1.c sub1.o -o main1命令编译main1.c文件为目标文件main1.o,然后链接sub1.o目标文件生成main1可执行文件。
在这里插入图片描述(3)输入./main1命令,执行编译生成的main1程序,成功输出。
在这里插入图片描述

二、在windows系统下编译C程序

在windows系统下任意自己熟悉的编译软件运行C程序,与Ubuntu系统比较其优劣。我选择的是最简易的VC6.0。
(1)创建main1.cpp主程序如下:

#include<stdio.h>
#include"sub1.h"
int main()
{
	int x=2,y=9;  
	printf("%.2f\n",x2x(x,y));  
	return 0;
}

(2)创建sub1.cpp子程序编写如下代码:

#include<stdio.h>
#include "sub1.h"
float x2x(int a,int b)
{
	float ans;
	ans=(float)b/a;
	return ans;
}

(3)创建sub1.h头文件编写如下代码:

#ifndef __SUB1_H
#define __SUB1_H
#include<stdio.h>
float x2x(int a,int b);   
#endif

(4)编译,成功输出。
在这里插入图片描述

三、Makefile方式编译C程序

(1)执行touch创建Makefile文件并编写如下代码。
在这里插入图片描述
(2)将main函数的赋值注释。
在这里插入图片描述
(3)执行make命令。
在这里插入图片描述
这里显示“makefile:2: *** 缺失分隔符。停止”。查询得知gccrmcp前面是tab分隔符,不能用空格。修改makefile文件如下,可以看到ccrm变颜色了,即正确了。
在这里插入图片描述
(4)再次执行make命令,没有之前的错误,输出为-nan
在这里插入图片描述
(5)将main的注释去掉,再次执行make,正确输出。
在这里插入图片描述

四、总结

  • 之前学习过计算机系统1,这次Ubuntu系统的学习要顺利很多。
  • 本次收获新知识,Ubuntu系统里文件中编写gccrmcp执行命令时,前面需要tab分隔符,不能用空格。
  • gcc方式编译程序让我们充分了解到整个C语言的源程序是如何一步步变为可执行文件的。

参考文献
https://www.cnblogs.com/zlee-home/p/13708004.html
https://blog.csdn.net/qq_45237293/article/details/108741893

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值