iphone - Marmalade SDK 交叉编译器如何工作?

标签 iphone marmalade

Marmalade SDK 是一种跨编译器、跨平台框架,允许用户从 Windows 开发 Iphone 应用程序。 Marmalade 有一个交叉编译器,能够直接从本地 Windows 计算机生成有效的签名 IPA,而无需 Mac 或远程构建服务。我知道一些“开放工具链”能够交叉编译应用程序,但这些工具链与 Iphone 许可不兼容。有人知道 Marmalade 的交叉编译器是如何工作的吗? marmalade 是如何开发兼容 Iphone SDK 许可的交叉编译器的?他们使用什么编译器进行交叉编译?他们是否使用开源编译器并对其进行了定制?它们如何与与 Iphone 许可兼容的“可移植操作系统包装器”链接?

最佳答案

Marmalade 就像一个虚拟操作系统。

它生成针对 Marmalade ARM 或 x86 的代码 因此,在 Windows 上创建的代码以 Marmalade 为目标,并且不了解 iOS 的任何信息。

Marmalade 代码无法直接调用操作系统。它只能调用EDK扩展。

EDK 扩展提供 Marmalade 接口(interface)和一组平台的实现:iOS、Android、Windows 等

Marmalade 具有适用于每个平台的加载程序。 加载器加载与 iOS、Android、Bada 和其他 ARM 平台相同的 Marmalade 代码

iOS loader 是 Marmalade 团队在 iOS 上的闭源编译对象。

适用于 iOS 和 iOS Loader 的 EDK 扩展在 Mac 上的 XCode 中编译。

关于iphone - Marmalade SDK 交叉编译器如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12358323/

相关文章:

iphone - NSScanner 行为

macos - 在 mac 中打开 mkb (marmalade) 文件时出错

c++ - 在 C++ 中输入 áã 和字符串得到 AN£A$ 如何处理?

ios - 如何在不使用 Marmalade 中的 s3eImagePicker 的情况下从 Gallery 获取所有文件?

iphone - 如何更改 UIBarButtonItem 图像大小

ios - 如何从 block 主体返回函数值?

iphone - 如何在 Swift 中使用警报 View 解除 segue?

iphone - 点击手势 + 长按手势都不能一起工作

emacs - ELPA/Marmalade 报告 ~/.emacs.d/elpa/archives/-pkg 的 "cannot open load file"

c++ - 在 Marmalade SDK 中使用多个文件