HeapCreate深入研究
本机:win7(x86),4G内存
#include"stdafx.h"
#include<windows.h>
#include<stdio.h>
#include<tchar.h>
#include<iostream>
using namespace std;
HANDLE hHeap;
int _tmain(int argc, _TCHAR* argv[]){
SYSTEM_INFO systeminfo;
GetSystemInfo(&systeminfo);
cout<<"page"<<systeminfo.dwPageSize<<endl;
hHeap=HeapCreate(HEAP_GENERATE_EXCEPTIONS,1024,4096); //这里的最大堆空间需要注意一下
if(NULL==hHeap){
printf("HeapCreate失败\n");
return 1;
}
for(int i=0;i<40;i++){
LPVOID p4=HeapAlloc(hHeap,HEAP_ZERO_MEMORY,100);
cout<<i<<endl;
}
system("pause");
return 0;
}
我这里设置的最大堆空间是4096,但是分配的时候只分配了2000,第21个就分配不了了。如果我把4096改成4097,则可以完成分配,查了MSDN,也没有搞清楚是为什么,希望知道的大神告知一下,不胜感激!
HeapCreate深入研究的更多相关文章
- 从 C# 崩溃异常 中研究页堆布局
一:背景 1.讲故事 最近遇到一位朋友的程序崩溃,发现崩溃点在富编辑器 msftedit 上,这个不是重点,重点在于发现他已经开启了 页堆 ,看样子是做了最后的挣扎. 0:000> !analy ...
- 闲来无聊,研究一下Web服务器 的源程序
web服务器是如何工作的 1989年的夏天,蒂姆.博纳斯-李开发了世界上第一个web服务器和web客户机.这个浏览器程序是一个简单的电话号码查询软件.最初的web服务器程序就是一个利用浏览器和web服 ...
- SQLSERVER聚集索引与非聚集索引的再次研究(上)
SQLSERVER聚集索引与非聚集索引的再次研究(上) 上篇主要说聚集索引 下篇的地址:SQLSERVER聚集索引与非聚集索引的再次研究(下) 由于本人还是SQLSERVER菜鸟一枚,加上一些实验的逻 ...
- 深入研究Visual studio 2017 RC新特性
在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- 对一致性Hash算法,Java代码实现的深入研究
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...
- SQLSERVER聚集索引与非聚集索引的再次研究(下)
SQLSERVER聚集索引与非聚集索引的再次研究(下) 上篇主要说了聚集索引和简单介绍了一下非聚集索引,相信大家一定对聚集索引和非聚集索引开始有一点了解了. 这篇文章只是作为参考,里面的观点不一定正确 ...
- 开源Word读写组件DocX 的深入研究和问题总结
一. 前言 前两天看到了asxinyu大神的[原创]开源Word读写组件DocX介绍与入门,正好我也有类似的自动生成word文档得需求,于是便仔细的研究了这个DocX. 我也把它融入到我的项目当中并进 ...
- 【移动端兼容问题研究】javascript事件机制详解(涉及移动兼容)
前言 这篇博客有点长,如果你是高手请您读一读,能对其中的一些误点提出来,以免我误人子弟,并且帮助我提高 如果你是javascript菜鸟,建议您好好读一读,真的理解下来会有不一样的收获 在下才疏学浅, ...
随机推荐
- JAVA Properties配置文件的读写
通常我们就会看到一个配置文件,比如:jdbc.properties,它是以“.properties”格式结尾的.在java中,这种文件的内容以键值对<key,value>存储,通常以“=” ...
- python matrix/array反向切片
>>> import numpy as np >>> m = np.mat([[1.,1,1],[1,2,3,],[1,5,1,]]) >>> m ...
- review08
所谓异常就是程序运行时可能出现的一些错误,比如试图打开一个根本不存在的文件等,异常处理将会改变程序的控制流程,让程序有机会对错误做出处理. 各个catch参数中的异常类都是Exception的某个子类 ...
- Android在layout xml中使用ViewStub完成动态加载
Android在layout xml中使用ViewStub完成动态加载 一.Layout XML文件常见的两种模块加载方式 1.静态加载:被加载的模块和其它模块加载的时间一样. <include ...
- 《Advanced Bash-scripting Guide》学习(十七):用more来查看gzip文件
本文所选的例子来自于<Advanced Bash-scripting Gudie>一书,译者 杨春敏 黄毅 #!/bin/bash #使用more查看gzip文件 NOARGS= NOTF ...
- 如何关闭 window10 自带的杀毒软件
打开运行,快捷键[win+R],输入[ gpedit.msc],点击确定 在打开的组策略窗口中,依次展开计算机配置>管理模板>Windows组件,选择[windows组件]中的window ...
- spring boot 基础篇 -- 集成接口测试Swagger
一.在pom.xml加入Swagger jar包引入 <dependency> <groupId>io.springfox</groupId> <artifa ...
- 使文字出现波纹效果--第三方开源--Titanic
下载地址:https://github.com/RomainPiel/Titanic 使用的时候直接将代码复制过来即可(注意res文件下有张波浪图也要一起复制) xml代码: <com.roma ...
- Java NIO阻塞式通信
package com.nio.t; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.By ...
- 一直想写的关于tarjan算法的理解——向struct edge大佬低头
tarjan的算法精髓就是dfn[]和low[]数组 dfn[i]表示在该节点被搜索的次序(时间戳) low[i]表示i或i的子树可以追溯到的最早的栈中节点 判断有强连通分量的条件就是 dfn[i]= ...