ユーザ用ツール

サイト用ツール


it技術:dotnet:nativeaot

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
it技術:dotnet:nativeaot [2021/11/08 11:00] – [NativeAOTのメモ] yajuadminit技術:dotnet:nativeaot [2021/12/09 02:39] (現在) – [NativeAOTのメモ] yajuadmin
行 30: 行 30:
  
 === C++ によるデスクトップ開発 === === C++ によるデスクトップ開発 ===
-Visual Studioのインストールする環境の選択画面にてワークロードタブに「C++によるデスクトップ開発」にチェックを入れ、「インストール」をクリックします。\\+Visual Studioのインストールする環境の選択画面にてワークロードタブに「C++によるデスクトップ開発」にチェックを入れ、「インストール」をクリックします。\\
 https://sukkiri.jp/technologies/ides/visual-studio-community/vs_com_win_install.html https://sukkiri.jp/technologies/ides/visual-studio-community/vs_com_win_install.html
  
行 89: 行 89:
 </PropertyGroup> </PropertyGroup>
 </code> </code>
 +
 +**IlcOptimizationPreference Size**\\
 +最適化されたコードを生成するときは、小さいコードサイズを優先します。
 +
 +**IlcOptimizationPreference Speed**\\
 +最適化されたコードを生成するときは、コードの実行速度を優先します。
 +
 +**RootAllApplicationAssemblies デフォルト:true**\\
 +一部のリフレクションコーディングの使用法との互換性のために、コンパイラが未使用のコードを削除しないようにします。このオプションをfalseに設定すると、実行可能ファイルのサイズが小さくなります。
 +
 +**IlcGenerateCompleteTypeMetadata デフォルト:true**\\
 +実行可能ファイルからオブジェクトにアクセスする場合に、メタデータタイプの生成を許可します。このオプションをfalseに設定すると、実行可能ファイルのサイズが小さくなります。
 +
 +**IlcGenerateStackTraceData デフォルト:true**\\
 +スタックトレースでのテキスト名の生成を許可します。このオプションをfalseに設定すると、実行可能ファイルのサイズが小さくなります。
 +
 +**IlcDisableReflection デフォルト:false**\\
 +リフレクションフリーモードは、CoreRTコンパイラとランタイムのモードであり、リフレクションAPIの機能を大幅に削減\\
 +https://github.com/dotnet/corert/blob/master/Documentation/using-corert/reflection-free-mode.md
 +
 +**IlcFoldIdenticalMethodBodies デフォルト:false**\\
 +このオプションは、同一のメソッド本体を折りたたむ(メソッド本体の重複排除)。このオプションをtrueに設定すると、実行可能ファイルのサイズが小さくなります。しかし、予期しない動作が発生する可能性があります。
 +
 +**IlcDisableUnhandledExceptionExperience**\\
 +未処理の例外のスタックトレースをコンソールに出力するコードを無効にします。
 +
 +**IlcInvariantGlobalization デフォルト:false**\\
 +英語以外のカルチャをサポートするコードとデータを削除するグローバリゼーション不変モードを有効にします。コードとデータを削除すると、アプリが小さくなります。\\
 +https://github.com/dotnet/corert/blob/master/Documentation/using-corert/optimizing-corert.md
 +
 +=== Linux-Arm および Linux-Arm64 サポート対象外 ===
 +2021/11/08現在、ラズベリーパイ用にNativeAOTでコンパイルしたが、「error : Cross-OS native compilation is not supported. https://github.com/dotnet/corert/issues/5458」なった。
 +
 +<code>
 +dotnet publish -r linux-arm64 -c release
 +or
 +dotnet publish -r linux-arm -c release
 +</code>
 +
 +==== 参照 ====
 +  * https://www.reddit.com/r/dotnet/comments/od35v9/is_native_aot_on_the_roadmap/
 +  * https://www.reddit.com/r/dotnet/comments/qncfuq/nativeaot_net_7_plans/
 +  * https://medium.com/@MStrehovsky/building-a-self-contained-game-in-c-under-8-kilobytes-74c3cf60ea04
 +
it技術/dotnet/nativeaot.1636336846.txt.gz · 最終更新: 2021/11/08 11:00 by yajuadmin