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

2018-2019-1 20165327 《信息安全系统设计基础》第一周学习总结
测试1:
结果截图:1296452-20180924151342227-2125493549.png
在Vi中使用K查找printf的帮助文档:将光标放到printf或printf前面一格,按 shift+k 即找到帮助文档
测试2:
1296452-20180925133530807-1919780842.png
测试3
1296452-20180925155308453-298135228.png
[测试4:]
1296452-20180926175248172-1514857637.png
1296452-20180926175318624-61353813.png

问题:无法debug(已解决)
[测试5: ]
1296452-20180926174951288-554910514.png
1296452-20180926175026007-908851538.png
[测试6: ]
1296452-20180926184434845-1110065580.png
1296452-20180926184553428-733612157.png
1296452-20180928174807429-842744642.png
(这是代码输入的问题???已解决!!!关于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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值