2017-2018-1 20155315 《信息安全系统设计基础》第二周课堂测试总结
2017-09-29 09:35
537 查看
1.vi编辑
要求
每个.c一个文件,每个.h一个文件,文件名中最好有自己的学号用Vi输入图中代码,并用gcc编译通过
在Vi中使用K查找printf的帮助文档、
运行结果
2.gcc测试
要求
用gcc 进行预处理,编译,汇编,链接vi输入的代码生成的可执行文件中要有自己的学号
运行结果
3.gdb调试
要求
用gcc -g编译vi输入的代码在main函数中设置一个行断点
在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点
代码调试中的问题及解决方法
问题:在设置了条件断点之后,程序调试的时候不会在断点处停下。
解决方法: 在空循环中加一行代码打印空行再设置条件断点然后运行就可以了。如果只是空循环,不会停下。
运行结果
4.静态库的测试
要求
除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,制作一个mymath.a静态库,让main.c使用mymath.a。步骤
把代码编译为目标文件形式:gcc -c 20155315add.c -o 20155315add.o、
gcc -c 20155315sub.c -o 20155315sub.o、
gcc -c 20155315mul.c -o 20155315mul.o、
gcc -c 20155315div.c -o 20155315div.o
使用工具ar创建一个存档文件:
ar rcs mymath.a 20155315add.o 20155315sub.o 20155315mul.o 20155315div.o
编译程序时把程序和 mymath.a链接起来:
gcc -static -o link1 20155315main.o mymath.a
运行link1
./link1
运行结果
5.共享库
要求
除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,制作一个mymath.so共享库,让main.c使用mymath.so。步骤
创建一个共享的目标文件gcc -shared -fpic -o mymath.so 20155315add.c 20155315sub.c 20155315mul.c 20155315div.c
创建可执行目标文件
gcc -o link2 20155315main.c ./mymath.so
运行link2
./link2
运行结果
心得与体会
本来以为这次测试就是简单地编个程序,没想到中途出现了许多没有见过的问题,这让我明白,没有codeblock中的各种提示及自动生成的各种文件后,在linux中编程序才更需要细心与耐心。相关文章推荐
- 2017-2018-1 20155331 《信息安全系统设计基础》第二周课堂测试总结
- 2017-2018-1 20155235 《信息安全系统设计基础》第二周课堂测试
- 2017-2018-1 20155228 《信息安全系统设计基础》第二周课堂测试与课后作业
- 2017-2018-1 20155315 《信息安全系统设计基础》第六周课堂测试
- 2017-2018-1 20155315 《信息安全系统设计基础》第八周课堂测试
- 2017-2018-1 20155307 《信息安全系统设计基础》第2周学习总结(含课堂测试五)
- 2017-2018-1 20155336 《信息安全系统设计基础》第八周课堂测试
- 2017-2018-1 20155305 《信息安全系统设计基础》第四周学习总结(课堂提交作业未来得及提交码云链接myod补充博客)
- 2017-2018-1 20155330 《信息安全系统设计基础》第10周课堂测试&课下作业
- 2017-2018-1 20155315 《信息安全系统设计基础》第1周学习总结
- 2017-2018-1 20155231 《信息安全系统设计基础》 第二周课堂测试
- 2017-2018-1 20155235 《信息安全系统设计基础》第八周课堂测试
- 2017-2018-1 20155320 《信息安全系统设计基础》第四周学习总结(课堂实践补交+myhead与mytail加分项目)
- 2017-2018-1 20155308 《信息安全系统设计基础》第二周测试(课上+课下)
- 2017-2018-1 20155310 《信息安全系统设计基础》第二周学习总结
- # 20155337 2017-2018-1 《信息安全系统设计基础》第二周课堂实践+myod
- 2017-2018-1 20155315 《信息安全系统设计基础》第8周学习总结
- 2017-2018-1 学号 《信息安全系统设计基础》第6周课堂测试补交
- 2017-2018-1 20155315 《信息安全系统设计基础》第3周学习总结
- 20155326 2017-2018-1 《信息安全系统设计基础》第2周学习及课堂总结myod