Main Content

デプロイ可能なアーカイブについて

MATLAB® Compiler™ または MATLAB Compiler SDK™ でアプリケーションまたは共有ライブラリが作成されると、そのコンテンツは CTF アーカイブと呼ばれる組み込みのデプロイ可能なアーカイブにまとめられます。アーカイブには、アプリケーションに含まれる MATLAB ベースのコンテンツ (MATLAB ファイル、MEX ファイルなど) がすべて含まれます。

デプロイ可能なアーカイブに含まれるすべての MATLAB ファイル (.m.p ファイル) は、高度暗号化標準 (AES) 暗号システムを使用して暗号化されています。既定では、ファイルの名前とディレクトリ構造は不明瞭化されず、他のファイル タイプ (MEX ファイル、MAT ファイル、FIG ファイル、Java JAR ファイルまたはクラス ファイルなど) は暗号化されません。それ以外のファイル タイプは、変更されずにアーカイブにコピーされます。デプロイ可能なアプリケーションが実行されると、CTF アーカイブ内のファイルがディスクに解凍され、アーカイブ内で暗号化されていたファイルはすべてディスク上で暗号化されたままになります。デプロイ可能なアーカイブを個別ファイルとして解凍すると、そのファイルも暗号化されたままになります。

R2022b 以降では、ファイルの名前とディレクトリ構造を不明瞭化できるほか、他のファイル タイプ (MAT、FIG、MEX など) もmcc-s オプションを使用して暗号化できます。実行時に、暗号化されたファイルはディスク上では暗号化されたままですが、メモリ内ではコンパイル前の元の形式に復号化されます。このオプションを -j オプションと共に使用し、コンパイルする前に MATLAB コード ファイルから P コード ファイルを作成できます。

デプロイ可能なアーカイブの解凍方法の詳細は、次の表の参考文献を参照してください。

デプロイ可能なアーカイブの組み込み/解凍およびコンポーネント キャッシュについての情報

詳細

COM コンポーネント、.NET アセンブリまたは Excel アドインを伴って生成されたデプロイ可能なアーカイブなど、複数のデプロイ可能なアーカイブが同じユーザー アプリケーション内で共存できます。しかし、これらのコンポーネントがもつ MATLAB ファイルを混合したり、整合したりはできません。複数のデプロイ可能なアーカイブに含まれる暗号化され、圧縮された MATLAB ファイルを、他のデプロイ可能なアーカイブと結合させて配布することはできません。

指定されたデプロイ可能なアーカイブに含まれる MATLAB ファイルはすべて、一意の暗号化キーと関連付けられます。同一のデプロイ可能なアーカイブの中にある、キーが異なる MATLAB ファイルは実行されません。異なる MATLAB ファイルを組み合わせて別のアプリケーションを生成する場合は、これらの MATLAB ファイルを新しいデプロイ可能なアーカイブに再コンパイルしなければなりません。

コンパイラはコンパイルが失敗するとデプロイ可能なアーカイブを削除してバイナリを生成しますが、これはコンパイル開始前にこれらのファイルが存在しない場合にのみ行われます。詳細は、help mcc -K を実行してください。

注意

リリース エンジニアとソフトウェア構成マネージャー: デプロイ可能なアーカイブの共有ライブラリをストリップするビルド プロシージャまたはビルド プロセスは使用しないでください。使用するとデプロイ可能なアーカイブがバイナリからストリップされ、ドライバー アプリケーションのランタイム エラーが発生します。