可以使用LLVM IR(中间表示)来创建跨平台(iphone和Android)ARM可执行文件吗?

可以使用LLVM IR(中间表示)来创建跨平台(iphone和Android)ARM可执行文件吗?,第1张

概述我正在研究从相同的代码库有效地创建Android和iPhone目标应用程序的可能方法,无论是在C/C++/C#/Objective-C还是Java(使用VMKit).LLVM看起来很有前景,但是我对于围绕不同ARMCPU实现的兼容性问题略感困惑,主要来自底层芯片组如何“解析”图形和声音代码(即我必须编写特定的ARM

我正在研究从相同的代码库有效地创建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可执行文件吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1114020.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存