在Ubuntu环境粗略使用gcc和Makefile编译C程序
Ubuntu环境下使用gcc和Makefile编译C程序
一、查找默认软件源仓库位置
二、用Ubuntu系统下C语言编写Hello World程序
三、1.Ubuntu系统下编写C程序
2.Windows系统下编写C程序
3.使用Makefile编写C程序
四、总结
一、查找默认软件源仓库位置
打开Ubuntu终端输入cat /etc/apt/sources.list查看软件源仓库位置。
如图显示,我的软件源地址为cn.archive.ubuntu.com,为官方的国内镜像软件源仓库。
二、用Ubuntu系统下C语言编写Hello World程序
我的Ubuntu里面没有安装C语言编译器gcc,打开终端执行sudo apt update和sudo apt install gcc -y完成安装。

安装过后,打开终端,输入gedit hello.c 创建代码文件,输入相应代码后保存关闭编辑器,再输入gcc hello.c -o hello和./hello分别编译和运行程序。

输出结果正确。
三、1.Ubuntu系统下编写C程序
程序为一个主程序main.c和一个子程序sub1.c,子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。
main.c的代码如下:

sub1.c的代码如下:

运行过程如下:

运行结果符合C程序最初要求。
2.Windows系统下编写C程序
我使用的是Visual Studio Code,代码如图

运行结果如下:

运行结果正确。
3.使用Makefile编写C程序
我的Ubuntu里没有安装make工具,输入指令sudo apt install make并输入密码进行安装。因为之前已经创建了main.c和sub1.c文件,在这里只需要确认Makefile文件,如下:

随后输入make、./main1和make clean分别进入编译、运行和清理,运算过程和结果如图:

运行结果正确。
四、总结
本次实验主要完成Ubuntu虚拟机环境下C语言程序编译与Makefile工具的使用练习。首先在Windows虚拟机中搭建Ubuntu系统,学习gedit文本编辑器的使用,掌握apt软件包管理工具。实验中编写Hello World程序,使用gcc编译器完成编译与运行,熟悉C语言基础编译流程。
接着完成多文件C程序的编写,分别编写主程序文件main.c与子程序文件sub1.c,在sub1.c中实现算术运算函数x2x,接收两个整型参数进行运算后返回浮点结果,主程序调用该函数并打印运算结果。在Ubuntu系统中使用gcc命令对多个源文件进行编译链接,运行程序得到正确输出;同时将相同代码移植到Windows平台,使用编译工具完成编译运行,验证代码运行效果。
在任务基础上编写Makefile脚本,使用make工具实现自动化编译,通过make命令完成程序编译,make clean命令清理编译生成的可执行文件,体会Makefile简化编译流程的优势。实验过程中遇到了Makefile分隔符错误、apt包管理器锁冲突等问题,通过调整代码缩进、等待系统后台更新完成解决了各类报错。
通过本次实验,掌握了gcc多文件编译方法,理解Makefile的部分编写规则,熟悉Ubuntu下C语言开发完整流程,也认识到C语言代码在不同操作系统下可以实现编译运行,提升了我对Linux的了解程度。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)