Linux高编程实验实验1报告
电 子 科 技 大 学
实 验 报 告
学生姓名: 学 号:2 指导教师:李林
实验地点:清水河主楼A2-412 实验时间:2016.11.09
一、实验室名称:
Linux环境高级编程实验室
二、实验项目名称:
Linux编程环境搭建与使用
三、实验学时:
4学时
四、实验目的:
培养对Linux操作系统的驾驭能力、熟悉它的各种工具、熟悉常用指令。
五、实验内容:
1、VM Ware配置,通过VM Ware的 虚拟链接使Linux操作系统连上网络。
2、APT使用,通过使用指令查找是否安装了g++,下载并安装OpenSSH、lrzsz、build-essential这几款软件。
3、vi高级使用,创建或编辑.vimrc配置文件,下载安装taglist 、omnicppcomplete 、a、winmanager 、minibufExplorer 、等插件。
4、make的使用,自己编写一个程序,并编辑或创建makefile文件,使用make指令对其进行操作。
5、gdb使用
6、googletest使用、
7、valgrind使用。
六、实验步骤:
1.VM Ware网络配置
首先,查看VMnet8的IP以及掩码,我实在windows下使用CMD的ipconfig指令查看的,如图1.1所示。
图1.1 VMnet8的地址
按照图1.1所提供的参数来修改/etc/network/interfaces文件,如图1.2,修改后如图1.3所示。
图1.2输入修改指令
图1.3 修改interfaces文件
修改完成后查看网络配置是否正确,如图1.4所示,显示网络配置是正确的。
图1.4 检查网络配置
修改主机名,修改/etc/hostname文件里的ubuntu为YanYuMin。修改之后如下图1.5所示。
图1.5 修改主机名
2.APT的使用
查找是否安装g++,如下图所示。显示了已经安装。
图2.1 检查g++
图2.2 安装lrzsz
图2.3 lrzsz安装完成
同理,对OpenSSH、build-essential进行了安装。
图2.4 build-essential安装完成
图2.5 openssh安装完成
3.Vi的高级使用
首先,在/etc/下查找.vimrc文件,没有;然后在/home/yanyumin/下查找,也没有。于是自己用Vi指令创建了一个,存放于/home/yanyumin/目录下。保存之后,进入vi界面如图3.3所示。
图3.1创建.vimrc配置文件
写入如下指令,第一条是开启关键字高亮显示;第二条是开启行数显示;第三条是设置tab键的长度为4。
图3.2编辑.vimrc配置文件
图3.3 .vimrc配置文件创建完成
图3.4 vi显示效果
接下来对vi进行插件下载与安装, exuberant-ctags和cscope使用apt-get进行安装,其中taglist 、omnicppcomplete 、a、winmanager 、minibufExplorer 、grep 这几个插件下载,解压到~/.vim中。下载完成后打开wim,在我的用户目录下创建了几个文档,采用了多窗口显示,如下图:
图3.5 多窗口显示效果
4.Make的使用
通过对vi以及make指令的熟悉,我写了一个简单的进制转换的程序。其功能是:键盘输入十进制数,打印出二进制、八进制以及十六进制的数。我所编写的文件清单如图4.1所示,其中trail文件夹存放的是我练手的程序,与该程序无关。yanyumin.c是主程序,两个transform*.c文件写入了切换进制并打印的子函数。
图4.1 文件清单
程序源代码如图4.2所示
图4.1 源代码
头文件代码如图4.3所示,
图4.3 头文件
makefile文件代码如图4.4所示,
图4.4 makefile文件代码
其文件依赖关系如下图4.5:
yanyumin-exetransform2.o
yanyumin-exe
transform2.o
transform8and16.o
transform2.c
transform8and16.c
yanyumin.o
yanyumin.c
不好意思,多了个分支,不过只需要把第二和第三只分支合并即可。这个相较于完全二叉树原理相同,makefile格式相似。故不再赘述,掌握知识点即可。
用make指令编译并运行的结果如图4.6所示。
图4.6编译运行
5.Gdb的使用
首先检查是否安装了Gdb,如下图显示,Gdb已经安装完成。
图5.1 Gdb安装完成
接下来通过修改了一个多进程的程序,其源代码如图5.2 。
图5.2 程序源代码
经过G++编译之后,再运行gdb调