メインコンテンツ

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

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

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

既定の最大キャッシュ サイズは 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

参考

トピック