CDWordArray::SetSize异常
来源:互联网 发布:财务费用的算法 编辑:程序博客网 时间:2024/06/05 20:58
今天调试程序,发现当CDWordArray::SetSize参数为0xFFFFFFFF(DWORD最大值)时程序会崩溃。
后来看了下SetSize的原型,以为将参数改成int的最大值0x7FFFFFFF就可以了。
改了后发现还是不行,最后定位到发生异常处:
ASSERT(nNewSize <= SIZE_T_MAX/sizeof(DWORD));
——位于Microsoft Visual Studio/VC98/MFC/SRC/ARRAY_D.CPP中CDWordArray::SetSize
原来SetSize的参数最大值应该是0xFFFFFFFF(DWORD最大值)/sizeof(DWORD)。
然后将SetSize的参数改为0xFFFFFFFF/sizeof(DWORD),发现还是会崩溃,定位到发生异常处:
m_pData = (DWORD*) new BYTE[nNewSize * sizeof(DWORD)];
原来new最大能分配的内存要取决于机器的内存(包括虚拟内存)以及操作系统,而0xFFFFFFFF个字节=4GB,这对于我1G内存的机器来说似乎有点大了。
- CDWordArray::SetSize异常
- setPreferredSize---setSize
- error C2061: 语法错误 : 标识符“CDWordArray”
- CArray::SetSize 的用法
- paintComponent中调用setSize方法
- JButton中的setPreferredSize() 与 setSize()
- Rect setCenter must after setSize
- MFC的数组类:CArray,CByteArray,CWordArray,CDWordArray
- swing 中setSize和setPreferredSize的区别
- swing中setSize与setPreferredsize的区别
- setSize()和setPreferredSize(new Dimension())使用小结
- setSize和setPreferredSize的区别与应用
- setPreferredSize和setSize的区别及用法
- swing中setSize和setPreferredSize区别
- SWT中setBounds/setSize方法失效原因分析
- 自定义布局管理器, setSize和setPreferredSize的区别
- 【Swing基础】setPreferredSize和setSize的区别及用法
- java setPreferredSize和setsize,setLocation,setBounds方法的不同
- Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: socket creation error
- Navicat For MySql 9.1
- centos下使用java wrapper 配置java守护进程
- 注册表设置
- Linux文章搜集
- CDWordArray::SetSize异常
- oracle latch(转)
- 好久没更新了
- 如何使系统可以产生core文件
- mysql 所在的目录
- 【简介】一个捕捉Linux系统事件工具:systemtap
- RA 层请求失败
- shell编译apk中没将drawable-ldpi打包进去问题解决方案
- 建设FTP工具Serv-U