KIS000387
设备, 软件 版本: S60 3rd Edition
说明:
在S60第三版中缺省的堆栈大小只有8KB,这对大多数复杂程序来说是不够的
创建日期: July 7, 2006
详细描述:
在symbian OS v9中缺省的堆栈大小从20kb缩减到8kb,以优化内存的消耗。这主要是因为平台安全性导致了在系统中同时运行的进程增多。
实际上,8kb的堆栈大小对任何一个稍大的S60程序来说都是不够的。如果在当前设备上缺省的堆栈能运行你的程序,那因为堆栈的溢出(平台库的消耗而引发堆栈的增长),它也很容易引发崩溃
。在S60第三版SDK中建议所有程序都增长到20KB堆栈,这需要为此重新编译。
案例重现:
解决方案:
我们可以通过在.mmp工程定义文件中使用epocstacksize命令行来修改缺省的8KB大小。
epocstacksize stacksize
堆栈的大小,可以通过十六进制或十进制来指定。但这对winscw/wins平台是无效的。
列如下面这行将堆栈大小增加到20KB
epocstacksize 0x5000
同样,我们也可以在产生新线程时定义该线程的堆栈大小。
S60第三版中最小缺省堆栈大小(转)
最新推荐文章于 2019-05-25 11:00:07 发布