我正在做一个大型项目,现在我正在处理这个“近端数据段大于64k”的错误。
如果我在PilotMain的PrvAppHandleEvent上注释"FrmSetEventHandler(frm,DadosConstrutivos1HandleEvent);“,程序会很好地编译它。如果我尝试使用de call,我得到了错误消息。
我已经在使用多段和“扩展模式”了。
我该如何解决这个问题?
感谢Rodrigo Leite Gomide
发布于 2009-05-27 16:39:26
我不使用CodeWarrior,但我使用PocketStudio,“同样的问题”经常发生在我身上。
每个单元都是一个“代码段”,所以当你编译的单元超过64k的代码时,编译器会警告你,不要链接你的代码。
试着把一些代码从那个单元移到另一个单元。
或者,您可以使用#杂注:
#pragma segment Seg1
... code ...
#pragma segment Seg2
... code ...致以敬意,
克里斯蒂安。
发布于 2009-07-14 05:28:15
没有好的方法来解决这个问题。Palm OS中的68K代码只能访问少量的静态程序数据,因为68K指令集仅为寻址数据提供+-32K偏移量。这将需要对编译器进行重大更改以支持更进一步,因为编译器将需要生成代码来执行复杂的指针算术,而CodeWarrior或prc-tools都不支持这一点。
这里有一些小贴士:
分配的内存的全局指针,而不是声明全局变量
https://stackoverflow.com/questions/820229
复制相似问题