操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

如何防止unresolved external symbol __chkstk错误

2006-10-9 网友评论 0 条 点击进入论坛

通常在构造大型的局部数据时都会报告unresolved external symbol __chkstk 错误
这也许让你摸不着头脑,因为你改小数据容量时就会通过编译。

我们来看这个100x100的TInt数组,如果做为local variable声明就不行,必须要做为类成员变量或缩小维度才行,因为Symbian有个硬性规定,就是构造在堆栈中的这些local variable最大只能是8KB,超过就不行,而上面这个数组有40多K,显然就会报告错误。

那怎么避免那,我们可以使用WAPSTKLIB.LIB这样,就可以避免这个错误。
(但是!)我们注意这样做虽然很爽,但对内存来说是个大伤害,因为在运行程序时
可能造成堆栈内存崩溃,这样就不好了,因此不到必要时我们必须谨守这个8KB的限度而不要用什么讨巧的方式试图避开这个“友善”的错误提示。

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46430 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail