顯示廣告
隱藏 ✕
看板 uefacool
作者 uefangsmith (唉呦!不錯哦~)
標題 [Wdri] Windows核心编程读书笔记之chkstk函数(StackCheck函数)
時間 2013年11月27日 Wed. PM 07:50:39


http://www.cnblogs.com/pianoid/archive/2011/10/28/C_Cplusplus_Runtime_stack_check.html

介绍了《Windows核心编程》中提到的StackCheck函数的具体实现,编译器自动插入的位置就是我们声明该变量的位置,该函数的原理就是从高地址到低地址每隔一个内存页面尝试访问一下以触发_XCPT_UNABLE_TO_GROW_STACK异常,操作系统捕获该异常后提交该页面,并将再下一页面的保护属性添加PAGE_GUARD标志,直到提交了足够我们使用的栈空间函数返回。这个函数在《Windows核心编程》中被称为StackCheck,但是在VS2005中它叫ChkStk,默认情况下这个函数存放在C:\Program Files\Microsoft Visual Studio 8\VC\crt\src\intel\chkstk.asm文件中,你应该也能在自己的编译器中找到它

--
※ 作者: uefangsmith 時間: 2013-11-27 19:50:39
※ 看板: uefacool 文章推薦值: 0 目前人氣: 0 累積人氣: 42 
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇