Ubuntu系统下初编译

一、 Ubuntu系统下软件的在线查找和安装

在ubuntu下打开终端
输入 sudo apt-get install vim安装vim编辑器
sudo apt-get install gcc安装gcc编译器
注意:在安装软件包时如果出现Could not get lock /var/lib/dpkg/lock-frontend,经多种方法试验后,解决方法如下:
在这里插入图片描述从应用程序菜单中打开软件和更新

在这里插入图片描述
打开后,将其更改为立即显示(display immediately),它便不会在后台运行sudo apt-get upgrade命令。
然后输入用户密码以让更改生效。重新启动Ubuntu计算机即可。

二、在Ubuntu系统下用C语言编写一个程序

1.输入vim hello.c创建hello.c C语言文件
2.进入编辑界面输入代码

#include<stdio.h>
int main()
{
	printf(hello world\n);
	return 0;
}

3.完成代码后,按下Esc键,再输入:wq保存文件
4.在命令窗口输入gcc hello.c -o hello进行编译
5.在命令窗口输入./hello运行程序

在这里插入图片描述

三、 分别在Ubuntu系统和windows系统编译并运行

(一)在Ubuntu系统用gcc 命令行方式编译

用相同的方法分别创建,编译main1.c程序和一个sub1.h子函数`
main1.c

#include<stdio.h>
#include"sub1.h"
int main()
{
	int a,b;
	float y;
	a=2,b=4;             //定义x和y变量
	y=x2x(a,b);          //输出处理后的值
	printf("%f",y);
	return 0;
}

sub1.h子函数

#include<stdio.h>
float x2x(int a,int b)
{
	float x;
	x=a+b;
	return x;     //返回运算后的值
}

在命令窗口输入./main1运行程序
如上所示
得出结果。

(二)在windows系统用Dev-C++编译

在这里插入图片描述

四、 在Ubuntu系统下用Makefile方式编程主程序

1、在命令窗口输入 gedit makefile创建makefile文件。
2、编写文件并保存

在这里插入图片描述
3、在命令行窗口输入make
4、输入gcc main1.o -o main进行编译
5、输入./main查看运行结果,结果相同
在这里插入图片描述
6、执行完后输入 make clean 清除编译产生的目标文件(.o)
注意:Makefile的命令行,开头必须用tab键,用空格会引起编码格式错误,系统报错。

五、总结

(1)gcc是编译器 而make不是 make是依赖于Makefile来编译多个源文件的工具 在Makefile里同样是用gcc(或者别的编译器)来编译程序.
(2)gcc是编译一个文件,make是编译多个源文件的工程文件的工具。
make是一个命令工具,是一个解释makefile中指令的命令工具。
(3)make就是一个gcc/g++的调度器,通过读入一个文件(默认文件名为Makefile或者makefile),执行一组以gcc/g++为主的shell命令序列。输入文件主要用来记录文件之间的依赖关系和命令执行顺序。
(4)gcc是编译工具;make是定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译;
也就是说make是调用gcc的。

经过初步对Ubuntu,gcc直接编译和Makefile进行编译方式的练习,我学习到了gcc对C语言的编译流程,也了解到了gcc,Makefile二者的联系与区别。gcc 和 makefile 方式都可生成可执行文件,但当编译文件较多、需要经常维护等等时,makefile 方式更具有优势。经过不断的试错修改,注意到了很多细节,也加深了对C语言源程序编译成可执行文件过程的理解。

参考:
https://cloud.tencent.com/developer/article/1343055
https://blog.csdn.net/qq_45237293/article/details/108741893

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值