- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[实验一Linux下C编程
实验一 Linux下C编程
实验目的:
熟练使用vi中的常见操作,并且熟悉vi的3种模式;
熟练掌握gcc编译命令及gdb的调试命令;通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力;
通过对包含文件的makefile的编写,熟悉各种形式的makefile;
通过使用autotools生成包含多文件的makefile。
实验内容
熟练使用vi
在“/root”目录下建一个名为“vi”的目录;
进入“vi”目录;
将文件“/etc/inittab”复制到“vi”目录下;
使用vi打开“vi”目录下inittab;
设定行号,指出设定initdefault的所在行号;
将光标移到该行;
复制该行内容;
将光标移到最后一行行首;
粘贴复制行的内容;
撤销第9步操作;
将光标移到最后一行行尾;
粘贴复制行的内容;
光标移到“si::sysinit:/etc/rc.d/rc.sysinit”;
删除该行;
存盘但不退出;
将光标移到行首;
插入模式下输入“Hello,this is vi world!”;
返回命令行模式;
向下查找字符串“0:wait”;
向上查找字符串“halt”;
强制退出vi,不存盘。
实验步骤见书本P87
用gdb调试程序中的bug
使用vi编辑器将一下代码输入到名为greet.c的文件中。此代码的原意为输出倒序main函数中定义的字符串,但结果显示没有输出。代码如下所示:
使用gcc编译这段代码,注意加上“-g”选项以方便之后的调试;
运行生成的可执行文件,观察运行结果;
使用gdb调试程序,通过设置断点,单步跟踪,一步步找出错误所在;
纠正错误,更改源程序并得到正确结果;
实验步骤见书本P88
编写包含多文件的makefile
用vi在同一目录下编辑两个简单的hello程序,如下所示: #hello.c #include “hello.c” int main() { printf(“Hello everyone!\n”); } #hello.h #include stdio.h
仍在同一目录下用vi编辑makefile文件,且不使用变量替换,用一个目标体实现,然后用make验证所编写的makefile是否正确;
仍将上述makefile使用变量替换实现,同样用make验证所编写的makefile是否正确;
编辑另一个makefile,取名为makefile1,不使用变量替换,但用两个目标体实现(首先将hello.c和hello.h编译为hello.o,再将hello.o编译为hello),再用make的“-f”选项验证这个makefile的正确性;
将上述makefile1使用变量替换实现
实验步骤见书本P90
使用autotools生成包含多文件的makefile
在原目录下新建文件夹auto
将上例中的两个代码文件“hello.c”和“hello.h”复制到该目录下
使用autoscan生成configure.scan
编辑configure.scan,修改相关内容,并将其重命名为configure.in
使用aclocal生成aclocal.m4
使用autoconf生成configure
使用autoheader生成config.h.in
编辑makefile.am
使用automake生成makefile.in
使用configure生成makefile
使用make生成hello可执行文件,并在当前目录下运行hello查看结果
使用make install将hello安装到系统目录下,并运行,查看结果
使用make dist生成hello压缩包
解压hello压缩包
进入解压目录
在该目录下安装hello软件
实验步骤见书本P91
实验结果截图
1. 实验一截图
Linux下的简单的运用:
图一
对inittab文件做完处理后的文件结果:
图二
图三
实验二截图
第一遍运行greet.c的结果:
图四
用gdb调试的过程:
文档评论(0)