摘要:
CPU在单位时间内一次处理的二进制数的位数叫字长,32位操作系统的cpu一次处理32位,也就是4字节。 64位的操作系统,cpu一次处理8字节.不存在换算问题,只与操作系统有关,应该说是跟cpu的位数有关。 字长的字节数 = 计算机位数/8。 字长就是CPU内部寄存器的位数,当然内部寄存器也决定了一次能同时处理运算的数位长度。你还记得X86 CPU里面的累加寄存器吗?在186... 阅读全文
摘要:
1.VirtualAlloc用来在进程的虚拟地址空间中保留(reserve)或者提交(commit)页。在保留时以64KB为粒度,即保留空间以64K为单位。而提交虚拟地址时,则以页(典型大小为4KB)为单位。 2.VirtualCopy用来绑定一块物理内存到当前进程虚拟地址空间。参数里的lpvSrc既可以是内核段的虚拟地址也可以是物理地址(用page_physical来标记)。同时要注意lpvSr... 阅读全文
摘要:
堆与栈有什么区别? 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(... 阅读全文