![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
内存管理
文章平均质量分 77
江明大吴
这个作者很懒,什么都没留下…
展开
-
内存分配方式比较
原文连接:http://msdn.microsoft.com/en-us/library/windows/desktop/aa366533(v=vs.85).aspx下面简要比较一下各种内存分配方式:CoTaskMemAllocGlobalAllocHeapAllocLocalAllocMallocNewVirtualAlloc GlobalAll翻译 2014-06-16 23:10:09 · 763 阅读 · 0 评论 -
内存破坏之——栈内存
本文结合Mario Hewardt和Daniel Pravat写的《Advanced Windows Debugging》第五章所讲的内容稍微进行整合总结而成。1、 栈简介 堆栈(英语:stack),也可直接称栈。台湾作堆叠,在计算机科学中,是一种特殊的串行形式的数据结构,它的特殊之处在于只能允许在链结串行或阵列的一端(称为堆栈顶端指标,英语:top)进行加入资料(英语:push)和输出原创 2015-08-23 23:50:53 · 1222 阅读 · 0 评论 -
X86函数内存栈
本文描述的是在intel X86_64体系架构中,C语言函数在执行过程中的内存栈结构情况。其它体系会有所不同,仅供参考,实验在Ubuntu14.04 X64中使用,考虑到寄存器的熟悉程度,编译的可执行程序是32位的。 源码如下:#includevoid func(int a, int b){ int sec[5]; sec[2] = a; retur原创 2015-06-13 12:02:33 · 585 阅读 · 0 评论 -
<深入浅出>函数调用过程堆栈变化分析
总是被问及函数调用过程中堆栈的变化以及栈回溯的原理,最近好好的研究了一下函数调用过程中各个寄存器和堆栈状态的变化,在这边分享一下,如果有不对的地方,希望得到指正,本文使用VS2008工具运行下面这段代码执行,并将各个过程中堆栈数据的变化记下。代码如下:原创 2014-05-26 10:54:42 · 1349 阅读 · 0 评论 -
使用 Lookaside List 分配内存
本文转自:http://www.mouseos.com/windows/kernel/lookaside.html转载 2014-05-15 15:46:13 · 801 阅读 · 0 评论 -
<深入浅出>根据函数调用过程谈栈回溯原理
通过分析函数调用过程的堆栈变化,可以看出在被调函数的EBP寄存器地址存放的是调用函数的EBP寄存器地址,EBP地址+4存放的是函数调用完成后的下一条指令存放地址,该指令的前一条指令则是调用函数的指令。说起来有点拗口,接下来代码分析一下:分析使用的源码如下:原创 2014-06-07 18:02:45 · 5830 阅读 · 0 评论