linux 实验1
更新时间:2023-12-27 21:56:01 阅读量: 教育文库 文档下载
- Linux常用命令推荐度:
- 相关推荐
河南工业大学Linux应用程序设计 1
实验名称: Makefile交叉编译
系 别:软件工程姓 名:刘琼学 号:201116040125班 级:1101 实验地点:6313实验日期: 2013.11.18 指导老师: 张玉宏评 分:
一、实验目的
1、了解Makefile的基本概念和基本结构 2、初步掌握编写简单Makefile的方法 3、了解递归Make的编译过程
4、初步掌握利用GNU Make编译应用程序的方法
. 二、实验内容(含实验原理介绍)
在Linux或Unix环境下,对于只含有几个源代码文件的小程序(如hello.c)的编译,可以手工键入gcc命令对源代码文件逐个进行编译;然而在大型的项目开发中,可能涉及几十到几百个源文件,采用手工键入的方式进行编译,则非常不方便,而且一旦修改了源代码,尤其头文件发生了的修改,采用手工方式进行编译和维护的工作量相当大,而且容易出错。所以在Linux或Unix环境下,人们通常利用GNU make工具来自动完成应用程序的维护和编译工作。实际上,GNU make工具通过一个称为Makefile的文件来完成对应用程序的自动维护和编译工作。Makefile是按照某种脚本语法编写的文本文件,而GNU make能够对Makefile中指令进行解释并执行编译操作。Makefile文件定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。
三、涉及实验的相关情况介绍(包含使用软件或实验设备等情况):
GNU make工作时的执行步骤如下:
1、读入所有的Makefile。
2、读入被include的其它Makefile。 3、初始化文件中的变量。
4、推导隐晦规则,并分析所有规则。 5、为所有的目标文件创建依赖关系链。
6、根据依赖关系,决定哪些目标要重新生成。 7、执行生成命令。
1-5步为第一个阶段,6-7为第二个阶段。第一个阶段中,如果定义的变量被使用了,那么,make会把其展开在使用的位置。但make并不会完全马上展开,make使用的是拖延战术,如果变量出现在依赖关系的规则中,那么仅当这条依赖被决定要使用了,变量才会在其内部展开。
四、实验结果(含程序、数据记录及分析和实验总结等,可附页):
(1)多个.c文件的编译 (要用vim编辑下列程序,主要要有良好的编程风格,注释部分写出自己的姓名等类似版权信息字样。删除下述三个代码框,回贴截图输出代码) 1.创建文件muti.c muti.h main.c /*muti.h*/
/*muti.c*/
/*main.c*/
(2)写出对应的Makefile
(3)输出结果(截图)
四、思考题
1、 根据提供的Linux操作系统源码中得Makefile结构,分析在工程中多级目录中存在着多
个makefile时,编译的顺序如何?
一般来说,如果存在多级目录,那么再用makefile的时候,最好在每个目录下也写一个简单的子makefile,这样在总目录下写一个总的makefile,然后再总的makefile中调用子makefile,这样写起来就会比较清晰,编译顺序是要看总makefile中的步骤。另外,也可以make -n一下,这样也就可以看出make的编译顺序了。
五、实验收获与心得
刚开始使用linux系统,还不是很习惯,总是会出现各种错误。慢慢的学会编写makefile,才发现linux下操作起来也是挺舒服的。在时间过程中,也学会了不少常用linux命令。
正在阅读:
linux 实验112-27
川教版九年级下册历史教案05-11
厦门大学逻辑题及答案05-18
荆轲刺秦王(重点实词,通假字,词类活用,一词多义,特殊句型,02-26
《中国共产党党内监督条例》试题09-10
季度人事档案工作总结03-08
中国平安保险合同范本04-23
2《爸爸的花儿落了》 导学案附答案07-23
终于盼到了这一天作文500字06-17
2018对口升学考试语文模拟卷05-15
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 实验
- linux
- 2017-2022年中国小家电市场深度研究与市场全景评估报告(目录) - 图文
- 2017普法考试练习题及答案(普通干部职工)(1)
- 水果店的几点想法
- 2019-2020年三年级英语下册 Lesson 2(1)教案 陕旅版
- 2017-2018人教部编版(2016)六年级语文上册期中质量调研试卷
- 苦糖 说课稿
- 考试必备:小学四年级语文上学期作文题目大全(精)
- 市场营销发展新趋势探讨
- 可持续发展与企业的社会责任
- 对中小学音乐体验教学中师生关系的思考-精选教育文档
- 康复治疗知情同意书
- 购物广场品牌营销策划方案 - 图文
- 未解决辅导员考试题总结
- 锂电池铝壳项目可行性研究报告(目录) - 图文
- 2010安阳市公务员招录面试成绩和总成绩(精) - 图文
- 淮安信息职业技术学院
- 欧预赛
- 省厅安全生产突击检查汇报材料
- 小学科学教学设计(各种各样的叶) - 图文
- 剑桥少儿英语预备级上册1~5单元重点