メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

生成される識別子のカスタマイズ

Embedded Coder® がある場合、MATLAB® コードから生成される C/C++ コードに含まれる識別子をカスタマイズできます。カスタマイズする識別子の種類に応じて、それぞれに該当する識別子形式パラメーターを、生成される識別子の形式を指定するマクロに設定します。マクロには以下を含めることができます。

  • 有効な C 言語または C++ 言語の識別子 (a ~ z、A ~ Z、_、0 ~ 9)。

  • 次の表に示すトークン。$M は必須です。

    トークン説明
    $M

    コード ジェネレーターは名前の競合を回避するために名前マングリング テキストを挿入します。

    必須。

    $N

    コード ジェネレーターは識別子を生成するオブジェクト (グローバル変数、グローバルなタイプ、ローカル関数、ローカルな一時変数、または定数マクロ) の名前を挿入します。生成コードの可読性が高まります。

    必須。

    $R

    コード ジェネレーターはルート プロジェクト名を識別子に挿入し、サポートされていない文字をアンダースコア (_) 文字に置き換えます。

MATLAB Coder アプリを使用した識別子のカスタマイズ

  1. [ビルド タイプ] を次のいずれかに設定します。

    • スタティック ライブラリ

    • ダイナミック ライブラリ

    • 実行可能ファイル

  2. [設定] をクリックします。

  3. [コード外観] タブの [識別子の形式] で、カスタマイズする識別子の種類ごとにマクロを入力します。

    パラメーター既定のマクロ
    グローバル変数$M$N
    グローバルなタイプ$M$N
    グローバルなタイプのフィールド名$M$N
    ローカル関数$M$N
    ローカルな一時変数$M$N
    定数のマクロ$M$N
    EMX 配列タイプemxArray_$M$N
    EMX 配列ユーティリティ関数emx$M$N

たとえば、[グローバル変数] の値が glob_$M$N であるとします。g という名前のグローバル変数で、名前マングリングが必要ない場合、生成される識別子は glob_g になります。名前マングリングが必要な場合は、生成される識別子に名前マングリング テキストが含まれます。

コマンド ライン インターフェイスを使用した生成される識別子のカスタマイズ

  1. ライブラリまたは実行可能プログラム用のコード構成オブジェクトを作成します。以下に例を示します。

    cfg = coder.config('lib','ecoder',true);
    

  2. カスタマイズする識別子の種類ごとに、マクロを文字ベクトルとして指定します。

    パラメーター説明 既定のマクロ
    CustomSymbolStrGlobalVarグローバル変数'$M$N'
    CustomSymbolStrTypeグローバルなタイプ'$M$N'
    CustomSymbolStrFieldグローバルなタイプのフィールド名'$M$N'
    CustomSymbolStrFcnローカル関数'$M$N'
    CustomSymbolStrTmpVarローカルな一時変数'$M$N'
    CustomSymbolStrMacro定数のマクロ'$M$N'
    CustomSymbolStrEMXArrayEMX 配列タイプ'emxArray_$M$N'
    CustomSymbolStrEMXArrayFcnEMX 配列ユーティリティ関数'emx$M$N'

    以下に例を示します。

    cfg.CustomSymbolStrGlobalVar = 'glob_$M$N';

g という名前のグローバル変数で、名前マングリングが必要ない場合、生成される識別子は glob_g になります。名前マングリングが必要な場合は、生成される識別子に名前マングリング テキストが含まれます。

参考

トピック