2018-2019-1 20165323《信息安全系统设计基础》第一周学习总结

第一章学习总结

测试1

  1. 每个.c一个文件,每个.h一个文件,文件名中最好有自己的学号
  2. 用Vi输入图中代码,并用gcc编译通过
  3. 在Vi中使用K查找printf的帮助文档
  4. 提交vi编辑过程截图,要全屏,包含自己的学号信息

    运行结果

    1296510-20180924001731824-877774017.png

    查看帮助文档

    1296510-20180924001740140-1593684186.png

    测试2

  5. 用gcc 进行预处理,编译,汇编,链接vi输入的代码
  6. 生成的可执行文件中要有自己的学号
  7. 提交预处理,编译,汇编,链接,运行过程截图,要全屏,包含自己的学号信息

    运行结果

    1296510-20180924001749954-376602927.png
    相关命令:
    1、gcc -E .c -o .i 编译预处理
    2、gcc -S .i -o .s 产生汇编代码
    3、gcc -c .s -o .o 进行汇编
    4、gcc * .o -o XXX 生成可执行文件
    5、ls 显示文件列表

    测试3

  8. 用gcc -g编译vi输入的代码
  9. 在main函数中设置一个行断点
  10. 在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点
  11. 提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

    运行结果

    1296510-20180924103451225-1379422864.png

    测试4

  12. 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a?
  13. 提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

    运行结果

    1296510-20180924104050567-231690761.png
    相关命令:
    1、把代码编译为目标文件形式:
    gcc -c add.c -o add.o gcc -c sub.c -o sub.o gcc -c mul.c -o mul.o gcc -c div.c -o div.o
    2、使用工具ar创建一个存档文件:
    ar rcs mymath.a add.o sub.o mul.o div.o
    3、编译程序时把程序和 mymath.a链接起来:
    gcc -static -o ../bin/test1 main.o mymath.a
    4、在bin中运行test1:
    ./test1

    测试5

  14. 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?
  15. 提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

    运行结果

    1296510-20180924105331013-786279597.png
    1296510-20180924105338015-1128838750.png
    相关命令:
    1、创建一个共享的目标文件:
    gcc -shared -fpic -o mymath.so add.c sub.c mul.c div.c
    2、创建可执行目标文件:
    gcc -o ../bin/test2 main.c ./mymath.so
    3、在bin中运行:
    ./test2

    测试6

    1 写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.
    2 提交Make过程截图,要全屏,包含自己的学号信息

    运行结果:

    1296510-20180924110028500-1328341272.png
    1296510-20180924110036741-725304872.png

    代码学习中的问题和解决过程:

    问题1:
    1296510-20180924110210122-257628924.png
    这个问题我还没有发现很好的解决方法,不过把head.h放到src文件后就没有弹出错误了
    问题2:
    1296510-20180924110355804-411833930.png
    这完全是粗心的问题,将gcc -c 写成了gcc -C 从而导致了问题的出现

转载于:https://www.cnblogs.com/asd65360323/p/9694119.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值