动态分配内存问题 在调试的时候当i=2048的时候会出现"Access Violation"的错误是内存的使用出现了错误么?在VC中怎么增大堆栈的内存啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 试一试VirtualAlloc(NULL, 5001*4,MEM_RESERVE|MEM_COMMIT|MEM_TOP_DOWN,PAGE_READWRITE);不行再试一试分成两步作MEM_RESERVE和MEM_COMMIT。 你做了好多次类型转换,都看糊涂了,到底你的数据是多大的?如果是double,好像是越界了。 Level[i] 这边越界了吧 建议看看Level 数组的长度 最终数据是按照double 方式访问的 越界了 double是8字节的, 你动态分配的明显每个元素都是4字节... 越界,用char *tmp = (char *)VirtualAlloc(NULL, 5001*sizeof(double),...)分配。 Level 是如何声明的,应该是越界了。 代码写得好像太不规范了啊,兄弟。如果是C++,当然用new分配了,如果是C,也要用malloc分配才对,否则代码根本不能移植。double是8字节,用4字节当然有问题。 double* tmp = (double*)malloc(5001*sizeof(double)); for (int i = 0; i < 5001; i++) { Level[i] = *tmp++; } 用ADO连数据库是,某条语句在VC中能用,在vs2008中不能用了 简单问题,有源码,怎么解除4k限制 activex控件打包成cab文件的问题。。。 CET-6挂了,58分,郁闷之极 bmp位图文件包含正确的分辨率信息 用loadimage 取得 hbitmap后如何知道分辨率信息 ? 100分 求bmf 格式的头文件格式 在用CString的Format时有时总是截断我的字符串,为什么?(100分相送) 关于画图的问题 一个关于IActiveDesktop 问题 谢谢joke100! 熟悉OpenCV的高手请进 windows里哪个进程负责开新进程啊?
不行再试一试分成两步作MEM_RESERVE和MEM_COMMIT。
建议看看Level 数组的长度
char *tmp = (char *)VirtualAlloc(NULL, 5001*sizeof(double),...)
分配。
double是8字节,用4字节当然有问题。
double* tmp = (double*)malloc(5001*sizeof(double));
for (int i = 0; i < 5001; i++)
{
Level[i] = *tmp++;
}