Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

S60第三版中最小缺省堆栈大小

From Wiki
Jump to: navigation, search
Article Metadata

兼容于
平台:
Symbian

文章
huwell 在 28 Jun 2007 创建
最后由 hamishwillee 在 07 May 2013 编辑
  • 设备, 软件 版本: 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

同样,我们也可以在产生新线程时定义该线程的堆栈大小。

This page was last modified on 7 May 2013, at 23:59.
243 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×