Ubuntu系统下C语言的编译及makefile的应用
一.不同环境下C语言的编译
Ubuntu 20.04下
1.主程序main1.c
由vim编写
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-91qjjjNb-1662103341756)(C:UsersDELLAppDataRoamingTyporatypora-user-imagesimage-20220902114431482.png)]](https://file2.kaopuke.com:8081/files_image/2023052811/331d4b51b3414eec972ada43fe7bd82f.png)
2.程序sub1.c
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-smstyPcd-1662103341759)(C:UsersDELLAppDataRoamingTyporatypora-user-imagesimage-20220902130514372.png)]](https://file2.kaopuke.com:8081/files_image/2023052811/cf78dab53c914337bdcef056fceb15f4.png)
3.用gcc编译
将sub1.c编译为sub1.o
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ncdoOavj-1662103341760)(C:UsersDELLAppDataRoamingTyporatypora-user-imagesimage-20220902130718123.png)]](https://file2.kaopuke.com:8081/files_image/2023052811/5daffd0dacb84aeab316d17a1b3b22de.png)
编译main1.c文件为目标文件main1.o,然后链接sub1.o目标文件生成main1可执行文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GNozBn1K-1662103341761)(C:UsersDELLAppDataRoamingTyporatypora-user-imagesimage-20220902130923818.png)]](https://file2.kaopuke.com:8081/files_image/2023052811/7a2bb686b327457e9f1154d0c6dbfc2d.png)
4.运行mian1
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-piCe0kvn-1662103341761)(C:UsersDELLAppDataRoamingTyporatypora-user-imagesimage-20220902114734072.png)]](https://file2.kaopuke.com:8081/files_image/2023052811/158c75e8b72347bc915e2ac29e648174.png)
windows10环境下
用QT进行编写
1.主程序main:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AftK8jU5-1662103341762)(C:UsersDELLAppDataRoamingTyporatypora-user-imagesimage-20220902123536815.png)]](https://file2.kaopuke.com:8081/files_image/2023052811/074d1536d5d04426997938e67cc5b1ca.png)
2.子程序sub1:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0wy5KMJg-1662103341762)(C:UsersDELLAppDataRoamingTyporatypora-user-imagesimage-20220902150549572.png)]](https://file2.kaopuke.com:8081/files_image/2023052811/60ca8953d8694a109914b2de819f3710.png)
3.头文件sub1.h:

3.运行:
直接点击运行按钮,QT自动生成打印结果。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AB5WCV3E-1662103341763)(C:UsersDELLAppDataRoamingTyporatypora-user-imagesimage-20220902123648197.png)]](https://file2.kaopuke.com:8081/files_image/2023052811/462aa161c705424ea9425e3d0cc0169e.png)
二.Makefile方式进行
make命令执行时,需要一个 makefile 文件,以告诉make命令需要怎么样的去编译和链接程序。
1.Makefile文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wjn2Vm56-1662103341763)(C:UsersDELLAppDataRoamingTyporatypora-user-imagesimage-20220902150649859.png)]](https://file2.kaopuke.com:8081/files_image/2023052811/667b4769a69f4155a524de93de4ce6d1.png)
2.使用Makefile编译main1程序
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dbD8Kj9U-1662103341764)(C:UsersDELLAppDataRoamingTyporatypora-user-imagesimage-20220902151051187.png)]](https://file2.kaopuke.com:8081/files_image/2023052811/0f5b17c3881d4ad397a45b482002d901.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RjqqBSae-1662103341764)(C:UsersDELLAppDataRoamingTyporatypora-user-imagesimage-20220902151307905.png)]](https://file2.kaopuke.com:8081/files_image/2023052811/a0d7353c39c344078f8805ab22407a65.png)
3.删除编译产生的.o文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nqkNndt4-1662103341765)(C:UsersDELLAppDataRoamingTyporatypora-user-imagesimage-20220902151231473.png)]](https://file2.kaopuke.com:8081/files_image/2023052811/f59bf94bcc4d43748ac429661d432d69.png)
三.总结
通过这次实验我认识到了C语言编程在Linux上使用gcc编译与windows上的IDE编译有很大的不同,需要我们对编译的每一个步骤有足够的了解,不像之前那样简单方便的生成可执行文件。能使我们对c语言的整体有更深刻的了解
不同,需要我们对编译的每一个步骤有足够的了解,不像之前那样简单方便的生成可执行文件。能使我们对c语言的整体有更深刻的了解
参考连接:Ubuntu系统使用gcc和Makefile编译C程序
最后
以上就是认真面包最近收集整理的关于一.不同环境下C语言的编译Ubuntu系统下C语言的编译及makefile的应用的全部内容,更多相关一.不同环境下C语言内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复