xamarin是否使用LLVM编译器

Shi*_*iva 3 xcode llvm ios xamarin xamarin-studio

据我所知,Xamarin将c#转换为二进制文件,并使用mtouch做到这一点。

LLVM是将Objective-C覆盖为二进制代码的XCode方式。

因此,Xamarin不使用LLVM。

请纠正我,如果我错了

hva*_*an3 6

Xamarin.iOS项目可以选择使用LLVM编译器。检查它在这里。您可以通过选中Xamarin.iOS项目属性中的复选框来启用它。

Xamarin.iOS文档都显示在总纂过程中的LLVM一步一个有用的图形这里。在谈论图形的文字中,提到了如何将C#代码编译为IL。当使用真实的iOS设备时,不允许使用JIT,因此在托管代码上使用了AOT编译器,在可选的情况下,还使用了LLVM来进一步优化代码。

Xamarin.Android还具有可选的LLVM编译器,但需要获得营业执照或更高版本才能访问。更多信息就在这里

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