在Symbian平台下,构造在堆栈中的局部变量大小是由限制的,如果超过了就会在编译时出现unresolved external symbol __chkstk 错误。具体大小我也没仔细研究,不太清楚。
这几天经常出现这种编译错误,原因是我喜欢在一个函数中使用多个TFileName,一个TFileName就是一个TBuf<255>,这么大的一个TBuf当然很耗堆栈空间。
不过,其他地方遇到如此大的TBuf,早就用HBuf了,只是TFileName比较隐蔽,让我查错找了半天,这里记录下来,留给以后自己的参考。