20165302 ch02 课下作业
作业内容
- 补充完成课上测试(不能只有截图,要有分析,问题解决过程,新学到的知识点)
- 完成教材 p97 2.96 2.97,要有完备的测试
- 发一篇相关内容的博客, 提交博客链接
---(由于上次博客没有及时上交,所以作业补做就和ch01的博客一起写了)
上周作业补交及补做
1.测试一
- 每个.c一个文件,每个.h一个文件,文件名中最好有自己的学号
- 用Vi输入图中代码,并用gcc编译通过
- 在Vi中使用K查找printf的帮助文档
- 提交vi编辑过程截图,要全屏,包含自己的学号信息
截图:
**注意:将*.h文件放在了include文件夹下,使用gcc -I时要注明head.h文件的路径才可通过编译,否则会报错**
在vi中使用K查找帮助文档时要用光标放在printf行,然后shift+K查找printf的帮助文档
2.测试二
用gcc 进行预处理,编译,汇编,链接vi输入的代码
生成的可执行文件中要有自己的学号
提交预处理,编译,汇编,链接,运行过程截图,要全屏,包含自己的学号信息
截图:
考察了gcc语句的使用
- gcc -E 预处理.c文件变为.i文件
- gcc -S 将.i文件变为.s文件
- gcc -c 将.s 文件变为.o文件
3.测试三
用gcc -g编译vi输入的代码
在main函数中设置一个行断点
在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点
提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
截图:
4.测试四
除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a?
提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
截图:
5.测试五
除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?
提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
截图
6.测试六
1 写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.
2 提交Make过程截图,要全屏,包含自己的学号信息
截图: