gpt4 book ai didi

flash - Actionscript3 到 LLVM 到 ? (反向炼金术)

转载 作者:行者123 更新时间:2023-12-04 06:18:23 31 4
gpt4 key购买 nike

我一直想知道是否可以将 LLVM 实现的后端从 ARM 更改为其他东西,例如 C 或 C++?目前,Adobe 为 LLVM 使用 Actionscript3 前端(我目前找不到 - 封闭源代码?)来生成 iOS 应用程序。我想知道为什么其他后端没有更多选择?当然,走这条路有一些限制,在运行时不加载外部 swf 文件(仅举一个例子),但 iOS 应用程序似乎很好地管理了这一壮举。

我确实找到了这个 pdf其中谈到了 AS3 LLVM 前端,但没有关于代码在哪里或如何调查的指导......

我只是认为 Adob​​e 错过了一个错失的机会,并想知道要完成这样的壮举需要做多少工作?

请注意:我知道 Haxe 目前可以很好地输出到 C++ ;-)

[编辑:更新了 Haxe 注释]

最佳答案

我喜欢你的想法,我曾经冒险走这条路,并认真研究过如何完成同样的事情。有关炼金术工具链如何工作(特定于 iOS)的更多详细信息,请参阅此答案:

Adobe Air ios packager

基本上你是对的,adobe 使用的是非开源的 actionscript 编译器的内部版本。但是,如果您想危险地生活(大声笑),您可以随时下载旧的 iphone 打包程序或新的 AIR 2.7 SDK,然后从 ADT.jar 中提取它们的 ASC 版本。您会注意到有大量新的 LLVM 相关类与现在包含在 SDK 中的 LLVM dll(以及旧的 PFI)进行交互。这是前端,这些 LLVM java 类是在编译期间截取字节码并将它们传递到 LLVM 库,进而导出到 ARM。现在您可能能够编译您自己的 LLVM 库并替换现有的库,只需将您的 LLVM 库上的输出目标设置为 LLVM 当前支持的任何内容(我相信有一个 C/CPP 后端)。这可能是可能的,因为就像我说的,据我了解,LLVM 编译库没有内置前端,前端是用 Java 编写的,基本上将 AVM 字节码转换为 LLVM IR,然后传递该 IR到 LLVM 库。如果您确实做到了,请在此处找到并告诉我,因为我对此非常感兴趣。我只是没有时间自己去追求它。

关于flash - Actionscript3 到 LLVM 到 ? (反向炼金术),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6924538/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com