linux实验 1

发布 2022-09-20 17:06:28 阅读 1866

北京 xx 大学

2014学年—2015学年第 1 学期 linux应用实验报告书。

实验题目: 实验三 gnu下编译器和调试器的使用初步

实验环境: linux环境。

实验目的:

通过调试一个有问题的程序,进一步熟练使用 vi 操作,而且熟练掌握 gcc 编译及 gdb 的调试命令,通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力。

实验内容:gnu gcc:

编译单个源文件。

#include <>

#include <>

int main(int argc, char **ar**)

简单编译两个源文件。

#include <>

void goodbye_world(void);

使用gcc的“-c”标记来编译支持库**:

# gcc -c

这一过程的输出结果是一个名为的文件,它包含适合连接到一个较大程序的已编译目标**。

创建一个简单的示例程序,它包含一个调用上个程序里的goodbye_world的main函数。

#include <>

void goodbye_world(void);

int main(int argc, char **ar**)

使用gcc编译这个程序:

# gcc -c

现在有了两个目标文件: 和 它们包含能够被 linux 执行的目标**。要从这个目标**创建linux可执行程序,需要再一次调用gcc来执行连接阶段的工作:

使用外部函数库。

gcc常常与包含标准例程的外部软件库结合使用,几乎每一个 linux 应用程序都依赖于由 gnu c 函数库 glibc。

/ 请编写**计算sin30度+ sin60度+sin90度,并完成编译,执行。

提示:头文件的使用且gcc编译时使用数学库参数。函数库位置随系统的不同而不同,但它一般会位于目录/lib或/usr/lib中,在这些目录中还有数以百计的其他必需的系统函数库。

gnu gdb:

1) 使用 vi 编辑器,将以下**输入到名为 的文件中。此**的原意为输出倒序main函数中定义的字符串,但结果显示没有输出。**如下所示:

2) 使用 gcc 编译这段**。

3) 运行生成的可执行文件,观察运行结果。

4) 使用 gdb 调试程序,通过设置断点、单步跟踪,一步步找出错误所在。

5) 纠正错误,更改源程序并得到正确的结果。

实验步骤:1) 在工作目录上新建文件 并用 vi 启动:vi

2) 在 vi 中输入以上**。

3) 在 vi 中保存并退出:wq。

4) 用 gcc 编译:

5) 运行 greet:./greet,输出为:

可见,该程序没有能够倒序输出。

6) 启动 gdb 调试:

7) 查看源**并进行调试。

将原来有错的程序经过gdb调试,找出问题所在,并修改源**,输出正确的倒序显示字符串的结果。实验步骤中请适当截图。gnu调试器是一个功能非常强大的工具。

要了解更加详尽的知识,建议阅读gnu调试器手册。

linux环境下的编程实现:

请用深度优先搜索或广度优先搜索对上图的文件系统树进行遍历。

选作)在虚拟机的linux下配置集成开发环境(ide),如eclipse,并尝试进行上述题目。

思考题:nfs(network file system)服务是什么?

samba服务是什么?

实验中存在的问题及解决办法:

在实验时,在用gdb进行调试的时候,如何设置断点的命令不熟悉,通过上网查询得出。

实验1Linux入门

实验类型 验证性实验。1 了解linux运行环境。2 熟悉linux的常用基本命令。3 熟悉和掌握linux下常用编辑工具vi。1 登录linux。2 熟悉linux的常用基本命令如ls who pwd ps等。3 通过windows操作系统中的ftp程序,练习windows和linux之间的文件交...

实验1Linux入门

实验类型 验证性实验。1 了解linux运行环境。2 熟悉linux的常用基本命令。3 熟悉和掌握linux下常用编辑工具vi。1 登录linux。2 熟悉linux的常用基本命令如ls who pwd ps等。3 通过windows操作系统中的ftp程序,练习windows和linux之间的文件交...

实验1Linux入门

实验类型 验证性实验。1.熟悉linux环境。2.熟悉linux的常用命令。3.掌握在linux下运行一个简单c程序。4.掌握linux与windows之间文件共享。1.linux的登陆。实验环境 虚拟机 redhat 9.0 图形界面 用户名 root 密码 123456 2.在操作命令前,新建一...