Main Content

%#exclude

MATLAB Compiler の依存関係の分析時にファイルまたは関数の依存関係を無視する

R2020a 以降

説明

%#exclude fileOrFunction1 [fileOrFunction2 ... fileOrFunctionN] プラグマは、コンパイル時の依存関係の分析から、指定されたファイルまたは関数を除外する必要があることをコンパイラに通知します。このプラグマにより、ファイルまたは関数をコンパイルできないというコンパイル時警告の抑制も行われます。

すべて折りたたむ

%#exclude プラグマを指定して isdeployed を使用することで、デプロイ不可能な関数 edit に関するコンパイル時警告を抑制します。

if ~isdeployed
    %#exclude edit
    edit('readme.txt');
end

~isdeployed ステートメントにより、デプロイされたコンポーネントでコードが呼び出されなくなります。%#exclude プラグマは、edit をコンパイルできないという警告を抑制します。

プラグマを使用してファイルを含めたり除外したりする MATLAB® 関数を作成します。

  1. 2 つのプラグマを使用する testExclusion という名前の関数を作成します。

    function testExclusion()
    
    %#exclude foo.mat
    load foo.mat
    load bar.mat
    
    %#function foo.txt
    fid = fopen('foo.txt');
    fclose(fid)

    %#exclude プラグマは、コンパイル時にファイル foo.mat を除外するようにコンパイラに通知します。

    %#function プラグマは、ファイル foo.txt をコンパイルに含める必要があることをコンパイラに通知します。

  2. mcc を使用して、関数をコンパイルしてスタンドアロン アプリケーションにします。-m オプションにより、スタンドアロン実行可能ファイルがビルドされます。-a オプションにより、ファイルがデプロイ可能なアーカイブに追加されます。-X オプションは、依存関係の分析中にデータ ファイルを無視するように mcc に指示します。

    mcc -m testExclusion.m を実行した結果は次のとおりです。

    • 依存関係の分析時に bar.matfoo.txt が含められる

    • foo.mat は除外される

    mcc -m testExclusion.m -X を実行した結果は次のとおりです。

    • 依存関係の分析時に foo.txt が含められる

    • bar.matfoo.mat は除外される

    mcc -m testExclusion.m -X -a foo.mat を実行した結果は次のとおりです。

    • 依存関係の分析時に foo.matfoo.txt が含められる

    • bar.mat は除外される

    最後のケースでは、-a オプションが %#exclude プラグマより優先されます。

バージョン履歴

R2020a で導入