20155206 第三周随堂测试补交

20155206 第三周随堂测试补交

实验一:

.每个.c一个文件,每个.h一个文件,文件名中最好有自己的学号

用Vi输入图中代码,并用gcc编译通过

在Vi中使用K查找printf的帮助文档

提交vi编辑过程截图,要全屏,包含自己的学号信息

方法:

1:在命令行中输入vi head.cvi sub.cvi mul.cvi add.cvi div.cvi main.c创建名字分别为head,sub,add,div,main的C类型文件,并直接在命令行中输入对应文件的代码。
2:继续在当前文件夹中使用命令行输入gcc -c *.c对当前文件夹内的.c文件全部执行编译(注:因为当前文件夹内的文件全部是有关本次测试的,所以使用*.c更加方便,若以后在这个文件夹中放入了其他文件,不建议使用),生成一个可执行的.o 文件。
3:继续在命令行中输入vim main.c,进入到main的编辑,移动鼠标指向printf,输入K以显示。

实验三:

1.用gcc -g编译vi输入的代码

2.在main函数中设置一个行断点

3.在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点

3.提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

方法:

1:命令行输入gcc -g *.c -o test生成gdb text文件
2:输入gdb text,进入调试并输入b 2在第二行设置一个行断点,b if2603在空循环中第2603次循环设置条件断点。

实验四:

1.除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a?

2.提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

方法:

1:输入ar -cr mymath.a add.o sub.o mul.o div.o 建立一个mymath静态库,把add.o、sub.o、mul.o、div.o复制进这个静态库
2:输入gcc -o prog main.c mymath.a生成一个可执行文件prog
3: 输入gcc -c -g main.cgcc -o prog main.o ./mymath.a进行gdb调试。

实验五:

1.除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?

2.提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

方法:

与上一测试总体来说是差不多的,区别只在于建立一个是静态库,一个是共享库,其他基本一样
1:输入gcc -shared -fpic -o mymath.so add.c sub.c mul.c div.c,建立共享库
2: 输入gcc -o prog2 main.c ./mymath.so生成可执行文件prog2
3: 输入./prog2运行

实验六:

1 写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.

2 提交Make过程截图,要全屏,包含自己的学号信息

课下把Makefile推送到代码托管平台**

方法:

1:在vi界面通过vi Makefile建立Makefile文档。
2:输入代码

myod

1 复习c文件处理内容

2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能

  1. main与其他分开,制作静态库和动态库

  2. 编写Makefile

5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息

6 在博客园发表一篇博客,重点写遇到的问题和解决过程

代码托管

原文地址:https://www.cnblogs.com/zf011/p/7616685.html