# 20155336 2017-2018 1 《信息安全系统设计基础》2017-9-27课堂实践

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了# 20155336 2017-2018 1 《信息安全系统设计基础》2017-9-27课堂实践相关的知识,希望对你有一定的参考价值。

20155336 2017-2018 1 《信息安全系统设计基础》2017-9-27课堂实践

第一题:vi

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

    说起来很惭愧,第一次接触虚拟机,对很多地方都陌生,正好趁学习这门课程掌握一下虚拟机的基本操作。
    首先创建一个文件夹,命名为text1。然后将第一道题的要求都录入进去。录入完毕后,输入`gcc *.c`,
    发现了错误,然后`vi`进入到.c的文件中,修改了错误再次编译一遍,没有错误,然后就输出`./a.out`
    

技术分享

技术分享

技术分享

技术分享

代码链接

第二题:gcc测试

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

    第二题,按照第一节课课上记得笔记,在课下自己实践。虽然中间粗心代码出现错误,但是问题不大
    

技术分享

技术分享

技术分享

代码链接

第三题:gdb测试

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

    这道题出现了很多问题,首先下载GDB,然后在设置了条件断点之后,程序调试的时候没有在断点处停下。在空循环中加个打印空行再设置条件断点然后运行就可以了。(中间由于很多次自己都忘记了编译~~~~~导致每次都会显示自己定义的n没有定义。)

技术分享

技术分享

技术分享

代码链接

第四题:静态库测试

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

    这道题将自己的代码编译为以下形式:
    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
    然后使用ar创建一个存档文件:ar rcs mymath.a add.o sub.o mul.o div.o
    编译的时候再将程序和mymath.a链接起来:gcc -static -o link1 main.o mymath.a
    接着运行就可以了!
    

技术分享

技术分享

第五题:共享库

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

    创建一个共享文件
    gcc -shared -fpic -o mymath.so add.c sub.c mul.c div.c
    创建一个可执行的目标文件
    gcc -o link2 main.c ./mymath.so
    运行即可
    

技术分享

技术分享

技术分享

代码链接

Myod:

1 复习c文件处理内容

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

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

  2. 编写Makefile

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

以上是关于# 20155336 2017-2018 1 《信息安全系统设计基础》2017-9-27课堂实践的主要内容,如果未能解决你的问题,请参考以下文章

# 2017-2018-1 20155336 《信息安全系统设计基础》第四周学习总结

# 20155336 2017-2018 1 《信息安全系统设计基础》2017-9-27课堂实践

2017-2018-20155336 《信息安全系统设计基础》第八周学习总结

2017-2018-1 20155336 《信息安全系统设计基础》第五周学习总结

# 20155336 2017-2018 1 《信息安全系统设计基础》第1周学习总结

2017-2018-20155336 《信息安全系统设计基础》第七周学习总结