Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Java库编译成iOS库_Ios_Codenameone_Parparvm - Fatal编程技术网

如何将Java库编译成iOS库

如何将Java库编译成iOS库,ios,codenameone,parparvm,Ios,Codenameone,Parparvm,通过查看代码名为One的网站和ParparVM,它的指南只显示了如何将Java(带有Java主函数入口点)构建到本机可执行文件/应用程序(iOS)中,但我找不到任何将Java构建/编译到iOS共享库的指南(无论是C源代码还是二进制代码,只要swift/objective-C可以从iOS应用程序重用) 那么,我们能够做到这一点吗?有什么指南吗?它不是为这个目的而设计的,所以它可能不会很好地工作。有一些固有的设计决策会使PARVM很难与库一起工作。两大问题: GC需要与root一起工作,如果没有对

通过查看代码名为One的网站和ParparVM,它的指南只显示了如何将Java(带有Java主函数入口点)构建到本机可执行文件/应用程序(iOS)中,但我找不到任何将Java构建/编译到iOS共享库的指南(无论是C源代码还是二进制代码,只要swift/objective-C可以从iOS应用程序重用)


那么,我们能够做到这一点吗?有什么指南吗?

它不是为这个目的而设计的,所以它可能不会很好地工作。有一些固有的设计决策会使PARVM很难与库一起工作。两大问题:

  • GC需要与root一起工作,如果没有对应用程序的完全控制,则很难进行收集

  • 生成的代码看起来“糟透了”。在C语言中,方法名转换为非常长的函数名,使用非常复杂的语法,以允许所有类型的VM边缘情况,例如协方差


我建议你看看J2ObjC。我很久没有检查过它了,但它的设计正是考虑到了这个用例。它没有一个“真正的”GC,但这可能与ARC有关。它与您的源代码一起工作,并生成在iOS上看起来更“自然”的库。

谢谢,我们以前尝试过J2ObjC,但如果没有源文件,它无法用于Java库,这就是为什么我们更喜欢提前编译的方法。