3

mccを使用してMATLABプロジェクトをコンパイルしています。私が使用しているマシンには多くのMATLABツールボックスがインストールされていますが、私のコードにはいくつか(distcompやimagesなど)しか必要ありません。ただし、mccを実行すると、コードが必要としないツールボックスを含め、多くのツールボックスのmcc.encファイルが「処理」されることになります。

これがmccからの出力の始まりです(-R '-nodisplay'使用しているクラスターと互換性を持たせるために実行しています)。

Warning: No display specified.  You will not be able to display graphics on the screen.
Compiler version: 4.15 (R2011a)
Processing /cm/shared/apps/matlab/7.12.0/toolbox/matlab/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/distcomp/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/images/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/stats/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/shared/imageslib/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/shared/system/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/shared/spcuilib/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/control/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/shared/controllib/engine/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/shared/controllib/general/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/signal/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/nnet/mcc.enc

デスクトップでmccを実行しているときも同じことをすることに気づきました。これらのmcc.encファイルの一部(特に... / signal/mcc.encおよび.../nnet / mcc.enc)は、残りのmccの実行よりも処理に時間がかかります。不要なmcc.encファイルの処理を除外する方法はありますか?

4

2 に答える 2

4

MATLAB IDEの「deplymentツール」を使用してプロジェクト設定に移動し、「パス上のツールボックス」タブから、不要なすべてのツールボックスの選択を解除します。

スクリーンショット

また、パスからすべてのフォルダーをクリアし、コアのMATLABフォルダーのみを保持するというmcc引数があります。-N

-Nクリアパス

-Nを渡すと、次のコアフォルダーを除くすべてのフォルダーのパスが効果的にクリアされます(このリストは時間の経過とともに変更される可能性があります)。

  • matlabroot / toolbox / matlab
  • matlabroot / toolbox / local
  • matlabroot / toolbox /compiler / deploy

また、コンパイル時にMATLABパスに表示される上記のリストのすべてのサブフォルダーを保持します。コマンドラインに-Nを含めると、含まれているフォルダーの相対的な順序を維持しながら、元のパスからフォルダーを置き換えることができます。元のパスに表示される、含まれているフォルダーのすべてのサブフォルダーも含まれます。さらに、-Nオプションは、matlabroot/toolboxの下にないパスにユーザーが含めたすべてのフォルダーを保持します。

于 2012-07-20T14:53:25.157 に答える
0

Matlab CentralFileExchangeの«fdep»関数を使用することをお勧めします。

http://www.mathworks.com/matlabcentral/fileexchange/17291-fdep--a-pedestrian-function-dependencies-finder

この関数をプログラムのメイン関数に適用すると、使用しているツールボックスと使用されているすべての関数がわかります(再帰的に、すべての初等関数が一覧表示され、関数を見逃すことはありません)。最終的なexeのサイズとコンパイル時間を減らすことは本当に便利です。

于 2016-04-07T07:28:54.940 に答える