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

Posted jhs888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-2019-1 20165202 《信息安全系统设计基础》第一周学习总结相关的知识,希望对你有一定的参考价值。

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

教材学习内容总结

一、实验楼实验二总结

我想尝试下OS系统的使用,所以实验内容都是在终端上完成。

  1. 熟悉vim的操作
    技术分享图片

  2. 练习gcc编译运行代码
  3. 练习gdb调试代码
  4. 把计算代码制作成静态库math.a和一个共享库math.so
  5. 编写makefile,让代码编译。
    技术分享图片

二、教材学习提问

  1. 一个C文件是如何变成一个可执行程序的?
  2. 整数运算在计算机中的溢出是怎么回事?
  3. 如何把学习过的数据结构知识同硬件知识结合?
  4. 怎样理解粗浅ISA指令(集体系结构)?
  5. 想要做到优化程序性能,应该保持怎样的思维结构或简单的思维定式?
  6. 如何把程序的数据项存储在层次结构中较高的地方?
  7. 所谓的“库”是什么?如何使用?
  8. ECF异常控制流与异常的关系?
  9. 虚拟内存的作用?
  10. I/O分为哪两种,这两种有什么关系?
  11. 如何理解客户端服务器编程模型?
  12. 并发在计算机系统的各个层有哪些情况?

教材学习中的问题和解决过程

  • 问题1:不会把几个c文件链接在一起。
  • 问题1解决方案:翻阅《深入理解计算机系统》第七章 P465
gcc -Og -o prog main.c sum.c

但是我的电脑输入-Og会提示错误,于是就删掉了-Og,输入

> gcc -o prog main.c add.c sub.c mul.c div.c
> ./prog

代码调试中的问题和解决过程

> gcc -c add.c
> gcc -c sub.c
> gcc -c mul.c
> gcc -c div.c

创建静态库由ar命令完成:

> ar -cr math.a add.o sub.o mul.o div.o
  • 问题2:如何创建共享库(动态库)?
  • 问题2解决方案:输入命令
> gcc -shared -fpic -o math.so add.c sub.c mul.c div.c

技术分享图片

  • 问题3:如何Makefile?
  • 问题3解决方案:参考Linux makefile教程,创建Makefile文件
edit : main.o add.o sub.o mul.o div.o
        cc -o edit main.o add.o sub.o mul.o div.o
main.o : main.c head.h
        cc -c main.c
add.o : add.c head.h
        cc -c add.c
sub.o : sub.c head.h
        cc -c sub.c
mul.o : mul.c head.h
        cc -c mul.c
div.o : div.c head.h
        cc -c div.c
clean :
        rm edit main.o add.o sub.o mul.o div.o

然后在命令行里

> make

会发现生成了可执行文件edit,

> ./edit

技术分享图片

代码托管

结对及互评

本周结对学习情况

  • 结对学习内容
    创建静态库、动态库。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/1 10/10
  • 计划学习时间:12小时

  • 实际学习时间:10小时

参考资料

以上是关于2018-2019-1 20165202 《信息安全系统设计基础》第一周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

2018-2019-2 网络对抗技术 20165202 Exp6 信息搜集与漏洞扫描

20165202 实验一 Java开发环境的熟悉

20165202 Mypwd

20165202 第2周学习总结

20165202 week10课下补做

20165202 第3周学习总结