自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (7)
  • 收藏
  • 关注

原创 获取页表项和页目录项VA的汇编代码的解析(整理)

<br />MOV EAX, ESI<br />AND EAX, 0xFFFFF3FF<br />SHR EAX, 0A<br />SUB EAX, 40000000<br /><br />MOV EAX, ESI<br />AND EAX, FFCFFFFF<br />SHR EAX, 14<br />SUB EAX,3FD00000<br /> <br />首先看下PTE的计算公式:<br />PTE_Addr = (VirtualAddr >> 12) * 4 + 0xC0000000<br />上面

2011-04-19 12:39:00 1224

转载 JIURL玩玩Win2k内存篇 分页机制

<br />基本概念<br />    Windows 2000 使用基于分页机制的虚拟内存。每个进程有4GB的虚拟地址空间。基于分页机制,这4GB地址空间的一些部分被映射了物理内存,一些部分映射硬盘上的交换文件,一些部分什么也没有映射。程序中使用的都是4GB地址空间中的虚拟地址。而访问物理内存,需要使用物理地址。<br /><br />下面我们看看什么是物理地址,什么是虚拟地址。<br /><br />物理地址 (physical address): 放在寻址总线上的地址。放在寻址总线上,如果是读,电路根

2011-04-19 12:22:00 1997

转载 虚拟地址转物理地址代码(摘自Undocument NT)

<br />CFuncGetPhysicalAddressAndPageAttributes(<br />unsigned int VirtualAddress,<br />unsigned int *PhysicalAddress,<br />unsigned int *PageAttributes<br />)<br /><br />{<br />unsigned int *PageTableEntry;<br /><br />*PhysicalAddress = 0;<br />*PageAttrib

2011-04-17 19:54:00 902

转载 VirtualProtect() 原理(摘自Undocument NT)

<br />VirtualProtect() 函数并不将页标记为可读写,而是保持页的只读属性。 然而,为了将此页与其它的正常只读页取分开来,它被标记为写时拷贝(copy-on-write)。 Windows NT 使用了 PTE 中的一个空闲位来做这个标记。当此页被写入时,因为是只读页,处理器发出页错误异常。页错误处理程序做一份此页的拷贝并相应地修改发生页错误进程的列表。新的拷贝被标记为可读写以使进程可以写入。

2011-04-17 17:38:00 4233

转载 共享 DLL 中的代码页的实验(摘自Undocument NT)

<br />Listing 4-1: SHOWDIR.C <br /><br />/* Should be compiled in release mode to run properly */<br />#include <windows.h><br />#include <string.h><br />#include <stdio.h><br /><br />#include "gate.h"<br /><br />/* Global array to hold the page directory

2011-04-16 16:01:00 929

转载 页转换机制(摘自Undocument NT)

<br />要访问内存单元,要指定段和段内偏移。地址转换的第一步就是将段基址加到偏移上。如果没有启用分页的话,这个32位的地址就是物理地址。否则,这个地址叫做逻辑地址或线性地址,这个地址再经过页地址转换机制才成为物理 RAM 地址。页地址转换机制见 1。<br /><br /><br />这种内存管理机制叫做分页,这是因为内存被分成了固定大小的区域,而这些区域就叫做页。 在 Intel 处理器(80386 或更高)上,一页的大小是4KB。32位的地址总线可访问最多 4GB 的 RAM。因此,总共就有1M(4

2011-04-16 14:25:00 1139

转载 一种保持VC对话框布局的简便方法

<br />在窗口可缩放的VC应用程序中,在缩放时保持窗口的布局很重要。网上有很多复杂的布局控制代码可供参考。有些代码很强大,但如果你的窗口只是个简单的对话框,也许可以试试本文的方法。这个方法够简单。<br /> 别去管那些锚点、对齐之类的词汇了,强大的功能在某种程度上也意味着更多的代码。简单地记住当前的窗口布局,然后按比例缩放这些控件。这样的方法在很多应用中,效果也非常不错。<br /> 本着更简单的精神,我没有定义一个基类来让你继承,也没有类让你使用,甚至没有写一个函数。我写了三个宏!<br /> <b

2011-04-15 17:18:00 703

原创 ADO操作access数据库的问题~~

<br />sql="select * from Img where FileName='"+FileName+"'";<br />   _bstr_t tempS(sql);<br />   m_pRecordset3->Open((LPTSTR)(LPCTSTR)sql,_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);<br />   //m_pRecordset3=m_pConnec

2011-04-09 01:16:00 617

计算机数学-刘新宇-递归

这个pdf里面主要是描述欧几里得算法,从而引申出递归,演算的意义。喜欢计算机数学的可以下载看看,内容简单易懂。

2020-02-27

计算机数学-刘新宇-自然数

计算机数学-刘新宇-自然数,学习计算机数学的资料。主要描述了自然数的一些历史以及公理,很有学习价值。

2020-02-27

fengeAtlas.py

laya拆图工具,不是一行行读取的,使用json来拆的。适用很多layabox打出的文件。依赖,python2.7 PIL

2019-06-21

游戏物理引擎开发源码

游戏物理引擎开发一书的源码,工程已经改为VS2013,里面的编译,链接错误都修改了.可正常编译

2015-05-17

动态Huffman编码

动态哈夫曼编码的PPT介绍,挺详细的,尤其是演示部分~

2013-08-29

binomial heap的算法描述

很清楚的描述了binomial heap 的插入,合并,删除~外国的

2013-08-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除