我正在研究从相同的代码库有效地创建Android和iPhone目标应用程序的可能方法,无论是在C/C++ / C#/ Objective-C还是Java(使用VMKit).
LLVM看起来很有前景,但是我对于围绕不同ARM cpu实现的兼容性问题略感困惑,主要来自底层芯片组如何“解析”图形和声音代码(即我必须编写特定的ARM芯片组,或者像OpenGL这样的高级API是否足够?).
我对各种Cross Dev产品(即Airplay SDK,MoSync(GPL-GCC),Unity3d,XMLVM等)了解不多,但我真正想做的是用Java编写或使用C/C++引擎,如果可能,发出LLVM IR并创建兼容的ARM可执行文件.
如果上述任何内容含糊不清,请致歉.
谢谢
丰富
解决方法:
编译器不是问题.要为两者进行开发,您需要创建一个允许您在该层上编写单个应用程序的抽象层.然后有两个抽象层实现,一个是进行AndroID API调用,另一个是进行iPhone API调用.编译器无法帮助您.
LLVM IR在其可移植性方面可能感兴趣的地方是:
int a,b;a=7;b=a-4;
编译为IR然后采用相同的IR并为所有不同的处理器类型生成汇编程序并检查差异.
对于例如需要在显示器上写入像素的实际应用,存在寄存器,显示器的大小和其他差异的大量存在,并且这些差异不在IR和汇编器后端之间暴露但是暴露在主C程序和平台库定义的API调用中,所以你必须解决C中的问题而不是IR或汇编程序.
总结以上是内存溢出为你收集整理的可以使用LLVM IR(中间表示)来创建跨平台(iphone和Android)ARM可执行文件吗?全部内容,希望文章能够帮你解决可以使用LLVM IR(中间表示)来创建跨平台(iphone和Android)ARM可执行文件吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)