• 8249阅读
  • 6回复

为什么这个语句,运行时会出错? [复制链接]

上一主题 下一主题
离线conta
 
只看楼主 倒序阅读 楼主  发表于: 2010-12-08

QByteArray cc[1000000];



按道理,这个语句所需分配的内存,也不是很大,我就想不明白,这个语句就是运行不过去。。。

离线roywillow

只看该作者 1楼 发表于: 2010-12-08
话说你好像声明了一个QByteArray的数组……
或者其实你只是想声明一个有初始大小的QByteArray?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线penitent
只看该作者 2楼 发表于: 2010-12-09
sub     eax, _PAGESIZE_         ; decrease by PAGESIZE
  test    dword ptr [eax],eax     ; probe page.

我测试了一下,在上一步测试内存页面大小时,出错了。
使用QByteArray *cc = new QByteArray[1000000];时可以申请。
望大虾们解释一下啊
离线biosxjj

只看该作者 3楼 发表于: 2010-12-09
这个好像是栈内存爆了
离线dbzhang800

只看该作者 4楼 发表于: 2010-12-09
引用第2楼penitent于2010-12-09 09:56发表的  :
sub     eax, _PAGESIZE_         ; decrease by PAGESIZE
  test    dword ptr [eax],eax     ; probe page.
我测试了一下,在上一步测试内存页面大小时,出错了。
使用QByteArray *cc = new QByteArray[1000000];时可以申请。
.......


我特想知道,你创建100万的 QByteArray 对象的目的是什么。抑或像1楼所说,你只是想创建包含100万个元素的 一个 QByteArray,而无意中写错了。
离线roywillow

只看该作者 5楼 发表于: 2010-12-09
最好说说目的吧
或许会有更好的方法
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线pjincz
只看该作者 6楼 发表于: 2010-12-09
不用怀疑,就是栈爆了。。。。。。不明白楼主为什么开这么多QByteArray,但是可以肯定的是,要开这么多只能用new
快速回复
限100 字节
 
上一个 下一个