メインコンテンツ

MATLAB Runtime コンポーネント キャッシュおよびデプロイ可能なアーカイブの組み込み

Java® を除くすべてのデプロイ ターゲットの場合、コンパイル済みアプリケーションのデータは既定でデプロイ可能なアーカイブに直接組み込まれ、実行時に一次フォルダーに解凍されます。この一次フォルダーは、MATLAB® Runtime コンポーネント キャッシュと呼ばれています。コンパイル済みアプリケーションが実行されると、デプロイ可能なアーカイブにあるファイル (CTF ファイル) は MATLAB Runtime コンポーネント キャッシュに解凍されます。Java パッケージを使用したデータ解凍については、Define Embedding and Extraction Options for Deployable Java Archive (MATLAB Compiler SDK)を参照してください。

キャッシュのサイズおよび場所

既定の最大キャッシュ サイズは R2024b より前のリリースでは 32 MB であり、R2024b 以降では 1024 MB です。次の表に、コンポーネント キャッシュの既定の場所を示します。

プラットフォームR2024b より前R2024b 以降
Windows®%LOCALAPPDATA%\Temp\%USERNAME%\mcrCache<version>%LOCALAPPDATA%\MathWorks\MatlabRuntimeCache\<release_version>
Linux®$HOME/.mcrCache<version>$HOME/.MathWorks/MatlabRuntimeCache/<release_version>
Mac

MATLAB R2020a 以降では、キャッシュは使用されません。アプリ バンドルには、実行時に必要なファイルが含まれています。

環境変数を使用した変更オプション

環境変数を使用して、MATLAB Runtime コンポーネント キャッシュの次のオプションを指定できます。

  • デプロイ可能なアーカイブが自動的に解凍される既定の場所を定義

  • トラブルシューティングの目的で、デプロイ可能なアーカイブを自動的に解凍する際に使用可能な診断エラー出力オプションを追加

  • MATLAB Runtime コンポーネント キャッシュ サイズをパフォーマンス上の理由により調整

これらの設定を変更するには、次のシステム環境変数を使用します。

環境変数目的メモ
MCR_CACHE_ROOTデプロイ可能なアーカイブの解凍場所に設定すると、この変数はユーザーごとの既定のコンポーネント キャッシュの場所をオーバーライドします。これは組み込みの .ctf ファイルのみに当てはまります。macOS の場合、この変数は MATLAB R2020a 以降で無視されます。アプリ バンドルには、実行時に必要なファイルが含まれています。
MCR_CACHE_SIZE設定すると、この変数は既定のコンポーネント キャッシュ サイズをオーバーライドします。R2024b 以降、この変数の初期制限は 32 M (メガバイト) または 1024 M です。ただし、これは変数を最初に設定した後に変更できます。mcrcachedir コマンドの実行により、指定のファイル内に存在する .max_size ファイルを、望ましいキャッシュ サイズ制限に編集します。

既定の動作のオーバーライド

Java 以外のターゲットの場合は、mcc -C オプションを使用して、生成されるバイナリにデプロイ可能なアーカイブを組み込まないよう mcc に対して指示できます。ログと診断メッセージの方がはるかに視覚的なので、このオプションをデプロイ可能なアーカイブの問題のトラブルシューティングに使用することができます。

コンパイラ アプリの [設定] セクションに -c フラグを追加することによって、このオーバーライドを実装することもできます。

関数 compiler.build を使用している場合は、EmbedArchive=false オプションを使用します。

メモ

競合するラッパーとターゲット タイプを指定して mcc を実行すると、-C オプションを mcc に指定した場合と同様に、生成されるコンポーネントにアーカイブは組み込まれません。以下に例を示します。

mcc -W lib:myLib -T link:exe test.m test.c

参考

トピック