人人范文网 范文大全

实验一__Linux下C编程

发布时间:2020-03-02 02:39:20 来源:范文大全 收藏本文 下载本文 手机版

实验一 Linux下C编程

一. 实验目的:

1. 熟练使用vi中的常见操作,并且熟悉vi的3种模式;

2. 熟练掌握gcc编译命令及gdb的调试命令;通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力;

3. 通过对包含文件的makefile的编写,熟悉各种形式的makefile; 4. 通过使用autotools生成包含多文件的makefile。 二. 实验内容

1. 熟练使用vi (1) 在“/root”目录下建一个名为“vi”的目录; (2) 进入“vi”目录;

(3) 将文件“/etc/inittab”复制到“vi”目录下; (4) 使用vi打开“vi”目录下inittab;

(5) 设定行号,指出设定initdefault的所在行号; (6) 将光标移到该行; (7) 复制该行内容;

(8) 将光标移到最后一行行首; (9) 粘贴复制行的内容; (10) 撤销第9步操作;

(11) 将光标移到最后一行行尾; (12) 粘贴复制行的内容;

(13) 光标移到“si::sysinit:/etc/rc.d/rc.sysinit”; (14) 删除该行; (15) 存盘但不退出; (16) 将光标移到行首;

(17) 插入模式下输入“Hello,this is vi world!”; (18) 返回命令行模式;

(19) 向下查找字符串“0:wait”; (20) 向上查找字符串“halt”; (21) 强制退出vi,不存盘。 实验步骤见书本P87 2. 用gdb调试程序中的bug (1) 使用vi编辑器将一下代码输入到名为greet.c的文件中。此代码的原意为输出倒序main函数中定义的字符串,但结果显示没有输出。代码如下所示: (2) 使用gcc编译这段代码,注意加上“-g”选项以方便之后的调试; (3) 运行生成的可执行文件,观察运行结果;

(4) 使用gdb调试程序,通过设置断点,单步跟踪,一步步找出错误所在; (5) 纠正错误,更改源程序并得到正确结果; 实验步骤见书本P88

3. 编写包含多文件的makefile (1) 用vi在同一目录下编辑两个简单的hello程序,如下所示:

#hello.c

#include “hello.c”

int main()

{

printf(“Hello everyone!\\n”);

}

#hello.h

#include

(2) 仍在同一目录下用vi编辑makefile文件,且不使用变量替换,用一个目标体实现,然后用make验证所编写的makefile是否正确;

(3) 仍将上述makefile使用变量替换实现,同样用make验证所编写的makefile是否正确;

(4) 编辑另一个makefile,取名为makefile1,不使用变量替换,但用两个目标体实现(首先将hello.c和hello.h编译为hello.o,再将hello.o编译为hello),再用make的“-f”选项验证这个makefile的正确性; (5) 将上述makefile1使用变量替换实现 实验步骤见书本P90 4. 使用autotools生成包含多文件的makefile (1) 在原目录下新建文件夹auto (2) 将上例中的两个代码文件“hello.c”和“hello.h”复制到该目录下 (3) 使用autoscan生成configure.scan (4) 编辑configure.scan,修改相关内容,并将其重命名为configure.in (5) 使用aclocal生成aclocal.m4 (6) 使用autoconf生成configure (7) 使用autoheader生成config.h.in (8) 编辑makefile.am (9) 使用automake生成makefile.in (10) 使用configure生成makefile (11) 使用make生成hello可执行文件,并在当前目录下运行hello查看结果 (12) 使用make install将hello安装到系统目录下,并运行,查看结果 (13) 使用make dist生成hello压缩包 (14) 解压hello压缩包 (15) 进入解压目录

(16) 在该目录下安装hello软件 实验步骤见书本P91 三. 实验结果截图

1.实验一截图

Linux下的简单的运用:

图一 对inittab文件做完处理后的文件结果:

图二

图三

2.实验二截图

第一遍运行greet.c的结果:

图四 用gdb调试的过程:

图五

图六

图七

图八

图九

3.实验三截图 第一次运行的结果

图十 第一次运行makefile的结果:

图十一 第二次运行makefile的结果:

图十二 第一次运行makefile1的运行结果:

图十三 第二次运行makefile的运行结果:

图十四 四. 实验心得体会

1.对于实验一:

复习了linux 下面对于文件编辑的一些知识。

2.对于实验二:

学会了gdb调试的简单运用:gdb l()-查看源代码;gdb b()-设置断点;gdb info b-查看断点情况;gdb r-运行代码; gdb n-单步运行代码; gdb p()-查看;gdb c-继续运行; gab q-退出;对于以后代码的改错很有帮助。

3.对于实验三:

实验三是我做的最不开心的一个了,开始在运行makefile,不管怎么样都是错的,可是检查却没有任何错误,后来想起来以前做makefile的时候要用tab键缩进的,这样之后发现就可以了。这个实验虽然让我很烦,但是想起了以前学liunx的好多东西,帮助很大,也觉得以前知识要常复习,这样才不容易忘。

Linux下的C编程实战

C语言编程

实验二语言与C语言混合编程

实验三_LINUX的C语言编程

实验四 Linux下的C语言编程以及GCC工具的使用

《C专家编程》总结

c语言编程题

手机短号C编程

c语言编程大题

c语言编程练习

实验一__Linux下C编程
《实验一__Linux下C编程.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档