版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、实验目的:1.熟悉嵌入式Linux开发基本过程及基本命令。2.了解嵌入式Linux开发中各种工具的基本用途。3.搭建好嵌入式Linux的开发环境。4.通过对包含多文件的Makefile的编写,熟悉各种形式的义变量的理解。二、实验内容:1.安装Vmware及;2.熟悉Linux下相关命令:属性查询、修改,路径、目录的查询、修改、删除,压缩、解压等;3.熟悉编辑工具;4.熟悉makefile文件的基本作用(编写一个包含多文件的Makefile)。三、Make工程管理器:Makefile如今能得以广泛应用,这还得归功于它被包含在Unix系统中。在make诞生之前,Unix系统的编译系统主要由“make”、“installshell脚本程序和程序的源代码组成。它可以把不同目标的命令组成一个文件,而且可以抽象化依赖关系的检查和存档。这是向现代编译环境发展的重要一步。1977年,斯图亚特·费尔德曼在1贝尔实验室里制作了这个软件。2003年,斯图亚特·费尔德曼因发明了这样一个重要的工具而接受了美国计算机协会()颁发的软件系统奖。Makefile文件是可以实现自动化编译,只需要一个“”命令,整个工程就能完全自动编译,极大的提高了软件开发的效率。目前虽有众多依赖关系检查工具,但是make是应用最广泛的一个。一个程序员会不会写makefile,从一个侧面说明了这个程序员是否具备完成大型工程的能力。1.Makefile基本规则一个简单的Makefile语句由目标、依赖条件、指令组成。smdk6400_config:其中:smdk6400_config:目标;unconfig:先决条件;@mkdir-p$(obj)include$(obj)board/samsung/smdk6400:指令。这里特别注意,“@”前面是Tab键,并且必须是Tab键,而不能是空格。目标和先决条件是依赖关系,目标是依赖于先决条件生成的。2.Makefile的变量为了简化编辑和维护Makefile,make允许在Makefile中创建和中的变量定义有两种方式:递归展开方式和简单方式。2Makefile中的变量分为用户自定义变量、预定义变量、自动变量及环境变量。自定义变量的值由用户自行设定,而预定义变量和自动变量为通常在Makefile都会出现的变量,其中部分有默认值,也就是常见的设定值,当然用户可以对其进行修改。预定义变量包含了常见变压器、汇编器的名称及其编译选项。表1.1列出了Makefile中常见预定义变量及其部分默认值。表库文件维护程序的名称,默认值为arCPPCXXARFLAGSASFLAGSCFLAGSCPPFLAGSCXXFLAGSFFLAGSC编译器的选项,无默认值C预编译器的选项,无默认值C++编译器的选项,无默认值FORTRAN编译器的选项,无默认值由于常见的gcc编译语句中通常包含了目标文件和依赖文件,而这些文件在Makefile文件中目标体的一行已经有所体现,因此为进一步简化Makefile的编写,就引入了自动变量。自动变量通常可以代表编译语句中出现目标文件和依赖文件等,并且具有本地含义(即下一语句中出现的相同变量代表的是下一语句的目标文件和依赖文件)。表1.2列出了Makefile中常见的自动变量。表所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重复的依赖文件$+3$%3.Makefile规则隐式规则和模式规则。四、实验步骤及过程:1.安装虚拟机软件Vmware;2.安装实验平台所用的Ubuntu虚拟机;3.编写包含两个简单文件的Makefile并运行。1)用vim在同一目录下编辑两个简单的Hello程序,如下所示:printf("Helloeveryone!\n");hello.h#include<stdio.h>2)仍在同一目录下用vim编辑Makefile,不使用变量替换,用一个目标体实现(即直接将hello.c和hello.h编译成hello目标体)。并用make验证。4.嵌套Makefile实验。创建如下的目录结构:1)首先在用户目录下创建makefiletest文件夹:#mkdirmakefiltest#cdmakefiletest创建好需用到的其它文件夹#mkdirf1f2mainobjinclude2)用相关代码如下:return;}{return;}5/makefiletest/main/main.cprint1();print2();return0;}#include<stdio.h>3)用obj6续上页代码@$(RM)$(OBJS_DIR)/*.o@rm-rf$(BIN_DIR)4)用../$(OBJS_DIR)/f1.o:f1.c$(CC)-c$^-o$@/makefiletest/f2/Makefile../$(OBJS_DIR)/f2.o:f2.c$(CC)-c$^-o$@/makefiletest/main/Makefile../$(OBJS_DIR)/main.o:main.c$(CC)-c$^-o$@/makefiletest/obj/Makefile../$(BIN_DIR)/$(BIN):$(OBJS)$(CC)-o$@$^四、实验结果:首先在用户目录下创建makefiletest文件夹;创建好需用到的其它文件夹f1,f2,main,obj,include等5个文件夹。2.在f1文件夹下使用vim创建f1.c文件。3.在f2文件夹下使用vim创建f2.c文件。4.在main文件夹下使用vim创建main.c文件。在6.在f1文件夹下使用vim创建Makefile文件。7.在f2文件夹下创建Makefile文件。8.然后在makefiltest主文件夹下创建Makefile文件tree五、总结与体会:通过本次实验意识到许多问题并得到完善:1.Ubuntu自带的vi使用过于麻烦,解决方法:sudoapt-getinstallvim安装vim2.由于基本功不扎实,:v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度美容院美容院员工社会保险缴纳合同4篇
- 2025年度商铺物业管理与应急响应预案合同4篇
- 2025年度模特形象代言效果跟踪分析合同4篇
- 2025年度出轨婚姻解除合同范本:财产分配与子女抚养安排3篇
- 2025年度个人光伏贷款担保服务合同样本(含项目验收)3篇
- 2025版奶茶店门店员工福利待遇合同4篇
- 2025年中国橡胶定型机行业市场运行现状及未来发展预测报告
- 二零二五年度智慧城市建设运营管理合同范本2篇
- 月下绘馆水泥销售2025年度合同2篇
- 二零二五年度4S店汽车销售与汽车租赁及保养服务合同3篇
- 垃圾车驾驶员聘用合同
- 2024年大宗贸易合作共赢协议书模板
- 新闻记者证600道考试题-附标准答案
- 变压器搬迁施工方案
- 单位转账个人合同模板
- 八年级语文下册 成语故事 第十五课 讳疾忌医 第六课时 口语交际教案 新教版(汉语)
- 中考语文二轮复习:记叙文阅读物象的作用(含练习题及答案)
- 2024年1月高考适应性测试“九省联考”数学 试题(学生版+解析版)
- (正式版)JBT 11270-2024 立体仓库组合式钢结构货架技术规范
- EPC项目采购阶段质量保证措施
- T-NAHIEM 101-2023 急诊科建设与设备配置标准
评论
0/150
提交评论