20145314郑凯杰《信息安全系统设计基础》第2周学习总结

20145314郑凯杰《信息安全系统设计基础》第2周学习总结

教材学习内容总结

实验二 GCC的使用

GCC编译的四个步骤:

  1. 预处理(gcc -E):gcc –E hello.c –o hello.i;gcc –E调用cpp
  2. 编译(gcc -S):gcc –S hello.i –o hello.s;gcc –S调用ccl
  3. 汇编(gcc -c):gcc –c hello.s –o hello.o;gcc -c 调用as
  4. 链接:gcc hello.o –o hello ;gcc -o 调用ld

最终成为:可执行文件

gcc 选项可以简记为“ESc”,相应的产出文件的后缀可以简记为“iso”

  1. .c C语言源文件
  2. .C .cc .cxx C++源文件
  3. .m Object-C源文件
  4. .i 经过预处理后的C源文件
  5. .ii 经过预处理后的C++源文件
  6. .s .S 汇编语言源文件
  7. .h 预处理文件(头文件)
  8. .o 目标文件
  9. .a 存档文件

图1:

实验三 GDB使用

使用gdb进行调试:gcc –g XXX.c –o XXX后
输入gdb XXX 即可进行调试;

  1. l——查看源代码;
  2. break 行数——设置断点;
  3. info break——查看断点信息;
  4. p 变量——打印变量值;
  5. bt——查看堆栈;
  6. c—继续执行;
  7. q——退出;
  8. n——不进入函数调试;
  9. s——进入函数调试;
  10. help [command]可以进行命令查找;
  11. delete [断点号]——删除所有断点;
  12. b 函数名——设置函数断点(函数不执行);
  13. b 行号或者函数 if 表达式 (条件断点)

实验四 Makefile使用

Makefile基本写法:test(目标文件): prog.o code.o(依赖文件列表)

tab(至少一个tab的位置) gcc prog.o code.o -o test(命令)

使用宏的Makefile:定义宏宏名=原变量

使用宏的格式(宏名)

教材第一章

  • 高速缓存可以被用来提高程序性能;存储器层次结构的主要思想是上一层作为第一次存储器的高速缓存。
  • 操作系统进行硬件管理,为程序服务。
  • 进程是操作系统对一个正在运行的程序的一种抽象。
  • 一个进程可以有很多线程
  • 虚拟存储器(汇编里面的存储器)
  • 系统是硬件和系统软件相互交织的集合体

理解信息就是位+上下文

查看源文件可以用od 命令 : od -tc -tx1 hello.c

冯式结构,理解p6 CPU执行指令的操作(加载、存储、操作、跳转)

存储系统的核心思想:缓存

操作系统核心抽象(文件、虚存、进程、虚拟机)

见图2:

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/50 1/2 20/20
第二周 176/600 2/4 38/38
第三周 /1100 /7 /60
第四周 /1350 /9 /90
原文地址:https://www.cnblogs.com/5314zkj/p/5907535.html