MFC-北风网
blsm0930
这个作者很懒,什么都没留下…
展开
-
MFC几个重要的基类
老根CObject派生出CCmdTarget-这个类没听说能干啥。但是老子不出名,孩子却牛的狠。 CCmdTarget有派生出CWinThread类,这个牛了,多线程,你懂的。 1.多线程这个派生出CWinApp,这个更牛,程序的框架。 2.第二条主线也比较牛。 CWnd也是CCmdTarget派生出来的,他派生3个类,CDialog,CView,CFrameWnd,这三个类加上CWinA原创 2016-02-19 21:23:52 · 447 阅读 · 0 评论 -
GDT、GDTR、LDT、LDTR的理解
GDT是全局描述附表,主要存放操作系统和各任务公用的描述符,如公用的数据和代码段描述符、各任务的TSS描述符和LDT描述符。(TSS是任务状态段,存放各个任务私有运行状态信息描述符) LDT是局部描述符表,主要存放各个任务的私有描述符,如本任务的代码段描述符和数据段描述符等。 GDTR是一个长度为48bit的寄存器,内容为一个32位的基地址和一个16位的段限。其中32位的基址是指GDT在内存中转载 2016-02-24 16:41:16 · 444 阅读 · 0 评论 -
PAE ( Physical Address Extension )
首先,内存访问和管理是一个跨越应用程序,操作系统,硬件平台的一个复杂过程,不能单纯的讲32bit系统就支持4G内存,从而认为这个过程只是OS和内存两者之间的关系 理论上: 32位系统,32bit的地址总线位数,寻址空间2^32B=4GB。 64位系统,寻址空间2^64。 至于在实际应用环境中,对于有4G物理内存而OS最多只能识别3G的情况,主要是主板的问题,丢掉的内存被PCI设转载 2016-02-24 16:44:21 · 375 阅读 · 0 评论 -
PAE下的虚拟内存映射 分析
PAE 即为物理地址扩展(Physical Address Extension),详细的内容请Google。 我的电脑是Win7,CPU是双核处理器,信息如下, 0: kd> !sysinfo cpuinfo [CPU Information] ~MHz = REG_DWORD 2527 Component Information = REG_BINARY 0,0,0,0,0,转载 2016-02-24 16:45:17 · 199 阅读 · 0 评论 -
页表项(PTE)地址计算公式的解释
在《JIURL玩玩Win2k内存篇 分页机制 (三)》中提到计算虚拟地址对应PTE地址的公式,如下: 代码: PTE_Addr = (VirtualAddr >> 12) * 4 + 0xC0000000 从虚拟地址转换到物理地址的过程来看,计算PTE需要虚拟地址的高10位做页目录索引,还需要第12 - 21位做页表索引,上面的公式晃眼看起来,貌似是错的,但是偏偏它又是对的,为转载 2016-02-24 16:46:37 · 798 阅读 · 0 评论 -
进入保护模式
本文为 第11章笔记 以下图2, 图4和图5截自Intel手册全局描述符表 全局描述符表中存放着段描述符, 每个段描述符8个字节.为了跟踪全局描述符表, 处理器内部有一个48位寄存器, 叫做全局描述符表寄存器(GDTR), GDTR分为两部分,分别为32位的线性地址和16的边界, 32位线性基地址部分保存的是全局描述符表在内存中的起始线性地址, 16位边界部分是全局描述符表的边界(界限),转载 2016-02-24 16:48:50 · 244 阅读 · 0 评论