エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
AOTコンパイルってなんぞ? - 踊るプログラマー
C#などの.Net言語はCILという中間言語にコンパイルして、それをVM上で動かすようにできています。 しか... C#などの.Net言語はCILという中間言語にコンパイルして、それをVM上で動かすようにできています。 しかし、実際にVM上で走らせなければどんなコードが動くか分からないってのはセキュリティ上よくないので、iOSではそれを許していません。 UnityはVMからJITコンパイルする部分を排除し、事前にネイティブコードを吐くようにすることでこの問題を回避しています。 事前にコンパイルしていることから、この部分のコンパイルをAOT(Ahead of Time)コンパイルと言います。 しかし、この事前コンパイル、そのそも.Net言語が想定していたものではないため(たぶん)、いろいろと制限があるそうです。 わかり易い例として、C#にはReflection.EmitというCILコードを直接生成する関数があるのですが、これはAOTでは使えません。 そのような制限があることから、UniRxを使用する際にb