首页 > 代码库 > 20145235《信息安全系统设计基础》第2周学习总结
20145235《信息安全系统设计基础》第2周学习总结
Vim的学习与Linux环境下C语言编程
光标移动:
文本插入‘r‘:
文本添加‘A‘:
‘q!‘ 退出不保存文本
wq:保存文本并退出
gcc
预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp
编 译:gcc –S hello.i –o hello.s;gcc –S调用ccl
汇 编:gcc –c hello.s –o hello.o;gcc -c 调用as
链 接:gcc hello.o –o hello ;gcc -o 调用ld
gbd
gdb programm(启动GDB)
b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点)
run 开始运行程序
bt 打印函数调用堆栈
p 查看变量值
c 从当前断点继续运行到下一个断点
n 单步运行
s 单步运行
quit 退出GDB
信息的表示与处理
大量计算机的安全漏洞都是由于计算机算术运算的微妙细节引发的
打端法:小对小,大对大。
小端法:与大端法相反。那这么说8086操作系统是小端法咯!
逻辑运算(结果是1或0)和位运算(结果是位向量),所有逻辑运算都可以用与、或、非表达(最大式、最小式),而与或非可以用“与非”或“或非”表达,所以,只要一个与非门,就可以完成所有的逻辑运算。
通过掩码,可以屏蔽一些信号,掩码表示是设置为有效信号的集合。
C语言中有符号数转换为无符号数时,不改变位表示,也就是说,不同的数据类型C语言读取的方式不一样。
如何让负数变成整数:逐位取反再加一,先非运算,再加一。
扩展为32位时用1扩展负数,用零扩展整数。
溢出就是内存中存储运算结果的空间不够导致,所以为了避免溢出,应该事先估计运算结果的大小,找到合适的存储空间。
IEEE:
s-符号 0为正,1为负
M-小数
E-阶数
整数与小单精度数的转换:符号位+阶数加127的二进制数+去掉开头1位的数+十个0。
感想:
通过这周的学习,发现上学期学的汇编很重要,对于这学期学的这门课很有帮助。以我目前的学习水平来看,对于提高学习效率什么的显然无法实现,很多都看不懂,只能脚踏实地,花更多的时间去学习,然后再去提高学习效率。虽然博客上面整理出来的东西不多,但是,但凡整理出来的的知识,是我花了大量时间去学习并且学懂了之后才写进博客的。不想一味追求表面上写了很多,其实都是复制粘贴过去,宁愿尽自己努力学到一点。
问题:
按照实验楼的指导我仔细敲了代码
但是编译没有通过,难道书上的不对?这个问题我换没有解决,希望老师指导我一下。他说对main没有定义,代码里面确实没有主函数,这个代码其实就想演示下强制类型转换,但我确实不知道如何让代码编译通过。
20145235《信息安全系统设计基础》第2周学习总结