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

2018-2019-1 20165327 《信息安全系统设计基础》第一周学习总结
测试1:
结果截图:
在Vi中使用K查找printf的帮助文档:将光标放到printf或printf前面一格,按 shift+k 即找到帮助文档
测试2:

测试3

[测试4:]

问题:无法debug(已解决)
[测试5: ]


[测试6: ]



(这是代码输入的问题???已解决!!!关于tab键的输入,还费了些周折。输入tab键一定要先按“i”进入输入模式!!!)
知识总结

第一章hello程序的生命周期

1.hello程序是从源程序开始的。创建并保存hello.c的文本文件。信息=比特流+上下文

vi hello.c
编译
hello程序分步编译
1、预处理(包括打开头文件和翻译宏)
hello.c->hello.i

gcc -E hello.c -o hello.i
这时打开hello.i发现,短短几行代码已被展开为一千多行。

2、编译
hello.i->hello.s

gcc -S hello.i -o hello.s
这时打开hello.s发现是汇编代码,前面带.的是指令,可以去掉。

3、汇编
hello.s->hello.o

gcc -c hello.s -o hello.o
这时打开hello.o发现是乱码,其实已经是二进制文件,可以使用od命令打开。

od -tx1 hello.o
反汇编命令:

objdump -d hello.o
4、链接

gcc hello.o -o hello
此时将产生hello可执行文件
系统硬件组成(总线、I/O设备、主存、处理器)

运行hello程序时,硬件间的交互。

介绍了cache的重要性及存储设备形成的层次结构

操作系统通过三个抽象概念来管理硬件(进程(线程)、虚拟内存、文件)

系统间利用网络通信的模型

介绍计算机中三个重要主题:

Amdahld定理
并行与并发

第七章 链接

7.1编译器驱动程序
编译器驱动程序包括:语言预处理器、编译器、汇编器、链接器。

7.2静态链接

链接器的两个任务:

符号解析
重定位
7.3目标文件

目标文件纯粹是字节块的集合

目标文件有三种形式:
1、可重定位目标文件
2、可执行目标文件
3、共享目标文件
7.4可重定位目标文件
ELF格式

7.5符号和符号表

7.6符号解析
7.6.1链接器如何解析多重定义的全局符号
7.6.2与静态库链接
7.6.3链接器如何使用静态库来解析引用

7.7重定位
7.7.1重定位条目
7.7.2重定位符号引用

7.8可执行目标文件

7.9加载可执行目标文件

7.10动态链接共享库

7.11从应用程序中加载和链接共享库

7.12位置无关代码

7.13库打桩机制

7.14处理目标文件的工具:()

原文地址:https://www.cnblogs.com/yjtblog/p/9694059.html