我们可以将使用CodeWarrior for Palm OS编译的68K代码与使用PRC-Tools(GCC)编译的代码链接吗?
时间:2020-03-05 18:40:56 来源:igfitidea点击:
我有一个Palm OS / Garnet 68K应用程序,该应用程序使用用CodeWarrior构建的第三方静态库。我可以使用PRC-Tools(Palm OS平台的GCC端口)重建应用程序,并且仍然可以与第三方库链接吗?
解决方案
回答
否,CodeWarrior使用的对象文件格式与PRC-Tools不同。同样,编译器支持库也不同,因此即使代码可以链接在一起,它也可能以不同的方式使用符号。
但是,如果可以使用CodeWarrior将第三方库包装到共享库中,则应该能够从PRC-Tools应用程序中调用它。共享库界面可跨工具使用,但是共享库对系统的支持有限,因此我们需要确保原始代码不会使用全局变量来使其正常工作。
回答
(扩展Ben的原始答案...不确定确切的礼节,但我还无法编辑,所以我将重新发布)
否,CodeWarrior使用的对象文件格式与PRC-Tools不同。同样,编译器支持库也不同,因此即使代码可以静态链接在一起,它也可能以不同的方式使用符号。
但是,如果可以使用CodeWarrior将第三方静态库包装到Palm OS共享库中,则应该能够从PRC-Tools应用程序中调用它。 Palm OS共享库界面可跨工具使用,但是共享库对系统的支持有限,因此我们需要确保原始代码不会使用全局变量来使其正常工作。
有关共享库的更多信息,请参见Palm Pilot上的共享库。