Categories: Lang-CN | S60
This page was last modified 09:29, 28 June 2007.
S60第三版中最小缺省堆栈大小
From Forum Nokia Wiki
- 设备, 软件 版本: S60 3rd Edition
- 说明:
在S60第三版中缺省的堆栈大小只有8KB,这对大多数复杂程序来说是不够的
- 详细描述:
在symbian OS v9中缺省的堆栈大小从20kb缩减到8kb,以优化内存的消耗。这主要是因为平台安全性导致了在系统中同时运行的进程增多。
实际上,8kb的堆栈大小对任何一个稍大的S60程序来说都是不够的。如果在当前设备上缺省的堆栈能运行你的程序,那因为堆栈的溢出(平台库的消耗而引发堆栈的增长),它也很容易引发崩溃。在S60第三版SDK中建议所有程序都增长到20KB堆栈,这需要为此重新编译。
- 解决方案:
我们可以通过在.mmp工程定义文件中使用epocstacksize命令行来修改缺省的8KB大小。 epocstacksize stacksize堆栈的大小,可以通过十六进制或十进制来指定。但这对winscw/wins平台是无效的。
列如下面这行将堆栈大小增加到20KB
epocstacksize 0x5000
同样,我们也可以在产生新线程时定义该线程的堆栈大小。
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Nokia论坛技术资料Symbian解决方案-中文版 | hoolee | Symbian | 438 | 2008-09-05 04:37 |
