
啃啃csapp
文章平均质量分 85
zhicpp
Welcome to my csdn blog!
展开
-
csapp_ch3_程序的机器级表示
为什么计算机系统要进行数据对齐?数据对齐简化了处理器和内存系统之间的接口设计,并提高了内存系统的性能和效率。例如,假设一个cpu总是从内存中取8个字节,则地址必须为8的倍数。如果能够保证double类型数据的地址对齐为8的倍数,那么就可以只用一个内存操作来对数据进行读写。否则,可能需要执行两次内存访问,因为地址没有对齐为8的倍数,该对象可能被分放在两个8字节内存块中。数据对齐的原则:任何K字节的基本对象的地址必须时K的倍数。类型K Bytechar1short2in原创 2021-10-24 22:16:29 · 177 阅读 · 0 评论 -
csapp_ch1_计算机系统漫游
1 hello程序如何翻译为可执行文件?hello.c源程序:#include <stdio.h>int main(){ printf("hello, world\n"); return 0;}hello程序是从C语言程序开始,因为这种形式方便被人读懂。但要在系统上运行,必须要转换为机器能够识别的格式。在Linux系统中,从源文件到目标文件的转化是由GCC编译器完成的。Linux> gcc -o hello hello.cGCC编译器将hello.c源文件翻译为可执行原创 2021-04-14 14:36:34 · 162 阅读 · 0 评论 -
csapp_ch2_信息的表示和处理
本章重要的知识点:三种重要的数字编码表示无符号编码补码编码浮点数编码整数的表示虽然只能编码较小的范围,但却是精确的,而浮点数虽然可以编码较大的数值范围,但这种表示是近似的字节顺序,大端vs小端强制类型转换,底层的位值是不变的,只是改变了解释这些位的方式两个正数相加会得出一个负数,而比较表达式x<y和x-y<0会产生不同的结果,这是因为算术运算可能会溢出补码非的两种方法IEEE浮点数表示,int类型的12345与float类型12345.0的二进制表示之间的关联1原创 2021-04-28 17:14:50 · 181 阅读 · 0 评论