- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式Linux操作系统实验4精要
实验-1 Vi使用
实验目的:
学会用vi编辑器
实验要求:
熟练使用该节所介绍的vi创建、编辑、保存文件
实验器材:
软件:
1.安装了的vmware虚拟机
硬件:PC机一台
实验步骤:
在当前目录下键入命令vi hello.c创建名为hello.c的文
上图是在命令行模式下
键入i进入插入模式
在插入模式下输入文字hello word!
按[Esc]键退出到命令行模式
按shift+;键,即:键进入底行模式
键入wq保存退出
将文件/etc/samba/smb.conf拷贝到当前目录下,下面的实验步骤是为了让大家能够熟练使用vi中的常见操作。
命令:cp /etc/samba/smb.conf ./
用vi打开文件smb.conf,设定显示行号,指出“Share Definitiongs”的所在行号
在底行模式下,输入:set nu显示行号
这样就可以看到“Share Definitions”所在的行为246行。
将光标移动到248行
命令:248G
即在命令行模式下输入248shitf+g
复制改行以下6行内容
命令:6yy
将光标移动到最后一行行首
命令:G,即shift+g
粘贴复制的内容
命令:p
删除12步粘贴的6行
命令:6dd
撤销第13步的操作
命令:u
查找字符串“Share Definitions”
命令:/Share Definitions
强制退出vi,不存盘
命令::q!
总结:
对vi编辑的使用必须非常的熟练,因为vi编辑器是非常常用的。以后编辑程序、查看文档、修改配置文件等操作都会用到,所以大家要多练习。
-2 Gcc程序编译
实验目的:
学会使用gcc编译器及各种常用编译选项的使用
理解库设计的功能:
1)代码的封装保密 2)代码模块化设计
实验要求:
编写一应用程序,使用gcc进行编译,并分别使用-o,-g,-static,-o2等选项
静态库和动态库的使用
实验器材:
软件:
安装了ubunt 12.4的vmware虚拟机
硬件:PC机一台
第1题实验步骤:
先用vi编辑hello.c文件,内容如下:
int sum_int(int a, int b)
{
return a+b;
}
int main()
{
int a=2,b=3,c;
c=sum_int(a, b);
printf(“sum of a and b is %d\n”,c);
}
gcc指令的一般格式为:gcc [选项] 要编译的文件 [选项] [目标文件]
例:使用gcc编译命令,编译hello.c生成可执行文件hello,并运行hello
命令:#gcc hello.c –o hello
上面的命令一步由.c文件生成了可执行文件,将gcc的四个编译流程:预处理、编译、汇编、链接一步完成,下面将介绍四个流程分别做了什么工作。
–E选项的使用
-E选项的作用:只进行预处理,不做其他处理。
例:只对hello.c文件进行预处理,生成文件hello.i,并查看
命令:#gcc –E hello.c –o hello.i
使用命令#cat hello.i查看 hello.i文件的内容
可以看到头文件包含部分代码#include stdio.h经过预处理阶段之后,编译器已将stdio.h的内容贴了进来。
–S选项的使用
-S选项的作用:只是编译不汇编,生成汇编代码
例:将hello.i文件只进行编译而不进行汇编,生成汇编代码hello.s
命令:gcc –S hello.i –o hello.s
使用命令#cat hello.s查看hello.s的类容
–c选项的使用
-c选项的作用:只是编译不连接,生成目标文件“.o”
例:将汇编代码hello.s只编译不链接生成hello.o文件
命令:#gcc –c hello.s –o hello.o
使用objdump -d hello.o 命令查看反汇编代码
将编译好了的hello.o链接库,生成可执行文件hello
命令:#gcc hello.o –o hell
–static选项的使用
-static选项的作用:链接静态库
例:比较hello.c链接动态库生成的可执行文件hello和链接静态库生成的可执行文件hello1的大小
命令:#gcc hello.c –o hello
#gcc hello.c –o static hello1
可以看到静态链接库的可执行文件hello1比动态链接库的可执行文件hello要大的多,他们的执行效果是一样的。
-g选项的使用
-g选项的作用:在可执行程序中包含标准调试信息
例:将hello
您可能关注的文档
最近下载
- (完整版)低压台区线损分析及降损措施.pdf
- 西师大版一年级下册数学第四单元《两位数加一位数的口算》教学课件(2024新教材).pptx
- 离职申请表-离职审批表.docx VIP
- 2024广东德良投资集团有限公司招聘1人笔试备考题库及答案解析.docx
- 汽车电路读图基础(PPT)汽车电路图基本符号(汽车电路读图基础).pptx
- 中科锂电新能源项目规划设计方案.pptx
- 中山市道路交通安全设施技术总则200901201.doc
- 智慧南网2024年保命教育培训(培训与考核)危大工程应知应会100分答案.pdf VIP
- 纯净水灌装机PLC系统控制的设计毕业设计(论文)(已处理).doc
- 2024中国可再生能源大会:大型伞梯式陆基高空风力发电技术研究.docx
文档评论(0)