我正在开展一个大型项目,现在我正在堆叠“近数据段大于64k”错误。
如果我评论“FrmSetEventHandler(frm,DadosConstrutivos1HandleEvent);”在PilotMain中的PrvAppHandleEvent上,程序编译得很好。如果我尝试使用de call,我收到了错误消息。
我已经在使用多段和“扩展模式”。
如何解决此问题?
由于 Rodrigo Leite Gomide
答案 0 :(得分:0)
我不使用CodeWarrior,但我使用PocketStudio而且“同样的问题”在我身上发生了很多。
每个单元都是“代码段”,因此当编译单元大于64k的代码时,编译器会发出警告并且不会链接您的代码。
尝试将一些代码从该单元移动到另一个单元。
或者您可以使用#pragma:
#pragma segment Seg1
... code ...
#pragma segment Seg2
... code ...
此致
基督教。
答案 1 :(得分:0)
没有好办法解决这个问题。 Palm OS中的68K代码只能访问少量静态程序数据,因为68K指令集仅为寻址数据提供+ -32K偏移。它需要对编译器进行重大更改以支持更进一步,因为编译器需要生成代码来执行复杂的指针运算,CodeWarrior或prc-tools都不支持这一点。
以下是一些提示: