20145314郑凯杰《信息安全系统设计基础》第2周学习总结
教材学习内容总结
实验二 GCC的使用
GCC编译的四个步骤:
- 预处理(gcc -E):gcc –E hello.c –o hello.i;gcc –E调用cpp
- 编译(gcc -S):gcc –S hello.i –o hello.s;gcc –S调用ccl
- 汇编(gcc -c):gcc –c hello.s –o hello.o;gcc -c 调用as
- 链接:gcc hello.o –o hello ;gcc -o 调用ld
最终成为:可执行文件
gcc 选项可以简记为“ESc”,相应的产出文件的后缀可以简记为“iso”
.c
C语言源文件.C
.cc .cxx C++源文件.m
Object-C源文件.i
经过预处理后的C源文件.ii
经过预处理后的C++源文件.s
.S 汇编语言源文件.h
预处理文件(头文件).o
目标文件.a
存档文件
图1:
实验三 GDB使用
使用gdb进行调试:gcc –g XXX.c –o XXX后
输入gdb XXX 即可进行调试;
l
——查看源代码;break 行数
——设置断点;info brea
k——查看断点信息;p 变量
——打印变量值;bt
——查看堆栈;c
—继续执行;q
——退出;n
——不进入函数调试;s
——进入函数调试;help [command]
可以进行命令查找;delete [断点号]
——删除所有断点;b 函数名
——设置函数断点(函数不执行);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 |