Xamarin 是否使用 LLVM 编译器?

Does Xamarin use LLVM compiler?

据我所知,Xamarin 将 C# 转换为二进制文件并使用 mtouch 来执行此操作。

LLVM 是 XCode 将 Objective-C 转换为二进制代码的方法。
因此 Xamarin 不使用 LLVM。

Xamarin.iOS 个项目可选择使用 LLVM 编译器。检查一下 here。您可以通过选中 Xamarin.iOS 项目属性中的框来启用它。

Xamarin.iOS 文档有一个有用的图形显示了一般编译过程中的 LLVM 步骤 here。在讨论图形的文本中,说明了如何将 C# 代码编译成 IL。当使用真正的 iOS 设备时,JIT 是不允许的,因此在托管代码上使用 AOT 编译器,并且可以选择使用 LLVM 进一步优化代码。

Xamarin.Android 也有一个可选的 LLVM 编译器,但它需要营业执照或更高级别才能访问。更多信息权 here.

On Android 设备允许 JIT,但您可以选择使用 AOT 编译器以减少启动时间,但代价是增加 APK 大小。如果启用 AOT,则也可以启用 LLVM。虽然 Android 上的警告是他们暂时禁用了 UI 选项(但仍然允许您手动更改 .csproj 文件中的设置)并且他们说过这些功能充其量只是实验性的。我不知道状态或影响,或者他们为 Android.

禁用这些选项