- 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
文档评论(0)