2017-05-02 1 views
2

私が知る限り、Xamarinはc#をバイナリに変換し、mtouchを使ってこれを行います。 LLVMは、オブジェクトcをバイナリコードに変換するxcodeの方法です。 したがって、XamarinはLLVMを使用しません。xamarinはLLVMコンパイラを使用します

私が間違っている場合は

+0

はい、そうです。 – arrowd

答えて

3

Xamarin.iOSプロジェクト、必要に応じてLLVMコンパイラを使用して、私を修正してください。それをチェックしてくださいhere。これを有効にするには、Xamarin.iOSプロジェクトプロパティのチェックボックスをオンにします。

Xamarin.iOSドキュメントには、一般的なコンパイルプロセスhereのLLVM手順を示す有用な図があります。テキストの中には、あなたのC#コードがどのようにILにコンパイルされているかがグラフィックが語っています。実際のiOSデバイスを使用する場合、JITは許可されていないため、AOTコンパイラがマネージコードで使用され、オプションでLLVMがコードをさらに最適化するために使用されます。

Xamarin.AndroidにはオプションのLLVMコンパイラもありますが、アクセスするにはビジネスライセンス以上が必要です。詳細情報here

Androidでは、JITはデバイスで使用できますが、オプションで起動時間を短縮するためにAOTコンパイラを使用することもできますが、APKサイズを増やすこともできます。 AOTを有効にすると、LLVMも有効にすることができます。 Androidに関するこの警告については、一時的にUIオプションを無効にしています(ただし、.csprojファイルの設定を手動で変更できるようにしています)。 Androidのこれらのオプションのステータスや意味、またはそれらの機能を無効にすることはわかりません。

+0

あなたは言いたいことは... LLVMコンパイラを使っています...もし私がこの文書を読んでいる限り...彼らは中間言語からAOTコードを生成するためにmtouchを使用していると言います...私に説明してくれますか? – Shiva

+0

@Shiva編集を参照してください。 – hvaughan3

+0

ありがとう! http://stackoverflow.com/q/43724067/7621990の質問をご覧ください。 – Shiva

関連する問題