动态链接库的最大内存空间是多大? 我用VC++6.0写了个基于MFC常规的动态链接库,当声明三维数组过大时(X[2][360][1000]),调用时会出错,同样的程序段在可执行文件中没有问题。将数组改小到X[1][60][1000]时不报错,我想这可能是动态链接库存在最大内存限制,想请问一下动态链接库可容许的最大内存空间有多大? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数组元素是char吗?我觉得你才这么点大,应该没关系的 DLL可以有自己的数据段,但没有自己的堆栈,DLL模块需要的堆栈内存都是从运行进程的堆栈中分配出来的,使用与调用它的应用程序相同的堆栈模式;一个DLL在内存中只有一个实例; 大数组用new在堆在分配,不要在栈上,如果一定要在栈上,要更改程序栈大小设置,默认为1Mvc6.0 工程->设置->连接->输出->保留 0x100000表示1M,自己调整大小如果在栈上分配,可用sizeof(X)得出你需要内存的多少 dll自身又不能运行,它运行时的空间是从进程中划分的 建议使用malloc(2*360*1000)的方式分配在堆上,然后用指针偏移(如*(p+i*k+j))这种方式来经行寻址 我用malloc方式在dll中分配的内存,大约超过四五百M时,会访问内存失败。是否还是有内存限制? 关于dll中的类使用疑惑 __declspec(dllexport) 求在对话框中内嵌一个视图的方法,万分感谢! 程序崩溃后,一个棘手问题! 请高手帮忙啊! 网络编程 特征点的提取问题 怎样用链表来实现动态数组功能? 我做了一个托盘程序,弹出的菜单却不消失 如何对快捷方式进行操作? StrProc.obj : error LNK2001: unresolved external symbol _GetStringsW@8是什么错误? 关于MSComm控件中接收缓冲区数据的BYTE数组的一点疑惑 MFC读取文本并显示在edit控件中
vc6.0 工程->设置->连接->输出->保留 0x100000表示1M,自己调整大小
如果在栈上分配,可用sizeof(X)得出你需要内存的多少