在project的mmp文件中添加下面的定义即可:
EPOCSTACKSIZE 0x2800
EPOCHEAPSIZE 0x1000 0x32000
前一个值是heap的最小值,后一个是最大值。
或者可以在代码中动态修改堆的大小,在projectname.cpp文件中找到E32Main函数
GLDEF_C TInt E32Main()
{
RHeap * heap = UserHeap::ChunkHeap(NULL,0x200000,0x300000) ;
User::SwitchHeap(heap);
return EikStart::RunApplication( NewApplication );
}
使用User::SwitchHeap()函数来获得相对大一些的系统堆大小。