- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 《刨根问底系列》:从硬盘读取一个文件,底层都做了什么?
eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。比方说:add eax,-2 ;//可以认为是给变量eax加上-2这样
2011-08-31 15:29:26 396
原创 《刨根问底系列》:sleep到底是怎么让程序“睡眠”的?
c代码反汇编研究初探(1),DEBUG篇。Author:xue23email:xue23@163.com下面是原代码。我在vc6.0中对这段代码进行完全的反汇编,以研究c语言在机器码级的运行状态。这一部分研究DEBUG下的情况。int __stdcall st
2011-08-31 15:19:36 824
原创 《刨根问底系列》:printf到底是怎么打印到屏幕上的?
很多地方出现未定义行为,可每每当它出现时,我们都不知道它是一个未定义行为,或者只是单纯的理解成一个错误。使用未定义行为直接带来的后果是:编译器碰到此类情况可以为所欲为。人类的恐惧来自对一个事物的无知,但追求问题解的过程又充满了痛苦。所以在追求把所有的未定义行为都总结出来这个过
2011-08-25 14:40:27 524
原创 《刨根问底系列》:socket到底是怎么把数据发送出去的?
int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send
2011-08-01 14:32:30 589
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人