![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CSAPP学习日志
安和桥*
这个作者很懒,什么都没留下…
展开
-
关于I/O的那些事(深入理解系统级I/O)
Unix/Linux哲学中有这么一句话:一切皆文件。而文件实际上可以看做是字节的序列。所有的I/O设备(例如网络、磁盘和终端)都被模型化为文件,而所有的输入和输出都被当做相应文件的读和写来执行,所以内核可以利用称为 Unix I/O 的简单接口来处理输入输出,比如使用 open() 和 close() 来打开和关闭文件,使用 read() 和 write() 来读写文件,或者利用 lseek(...原创 2019-12-07 16:34:44 · 229 阅读 · 0 评论 -
关于重定位目标文件解析的那些事(深入理解ELF)
ELF全称“Executable and Linkable Format”即可执行可链接格式,也就是对可重定位目标文件进行解析的格式。而我们知道从源代码到可执行目标文件一般要经历以下几个步骤:main.c-----预处理(cpp)----->main.i------编译(ccl)----->main.s-----汇编(as)----->main.o-----链接(ld)-...原创 2019-12-05 17:22:51 · 719 阅读 · 0 评论 -
关于Fork函数的那些事(深入理解ECF)
Fork函数:调用系统的fork()指令,即父进程调用fork()从而创建一个新的子进程。关于系统的fork()指令:一次调用,两次返回。返回值为0,说明此时在子进程中;返回值大于0,说明在父进程中,返回值为子进程的进程号(PID)...原创 2019-12-01 21:58:47 · 320 阅读 · 0 评论 -
学习日志:关于深入理解计算机系统的show-bytes代码的阅读以及在ubantu上的运行
代码总览show-bytes/* show-bytes - prints byte representation of data*//* $begin show-bytes /#include <stdio.h>/调用库函数stdio.h用于输入和输出函数如 printf和scanf等或者可用于一些指针的宏如NULL(空指针常量)// $end show-bytes */...原创 2019-04-20 17:01:45 · 357 阅读 · 0 评论 -
递归虽好,但不要“贪杯”,小心栈溢出噢~
那么,我们就直接进入正题啦何为递归?先来一段递归版生僻字:计算机中的递归能够反复的调用自身啊~是一种高效的方式~咳咳咳,编不下去了简单来说:程序调用自身的编程技巧称为递归( recursion)。而递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递...原创 2019-05-29 23:42:38 · 165 阅读 · 0 评论