このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
言語標準
コンパイラでサポートされている言語標準
モデル コンフィギュレーション ペイン: [コード生成]
説明
[言語標準] パラメーターは、コンパイラでサポートされている言語標準を指定します。
依存関係
[C++03]
は、[言語] パラメーターで[C++]
を選択した場合にのみ使用できます。[言語] パラメーターの値を変更すると、[言語標準] が
[C99 (ISO)]
(C の場合) および[C++11 (ISO)]
(C++ の場合) に更新されます。
設定
[C]
に設定されている場合は [C99 (ISO)]
、[言語] が [C++]
に設定されている場合は [C++11 (ISO)]
(既定値) | C89/C90 (ANSI)
| C++03 (ISO)
C89/C90 (ANSI)
ISO®/IEC 9899:1990 C 言語標準に準拠したコードを生成します。
C99 (ISO)
ISO/IEC 9899:1999 C 言語標準に準拠したコードを生成します。
C++03 (ISO)
ISO/IEC 14882:2003 C++ 言語標準に準拠し、C++14 や C++17 などの C++ の後続バージョンと互換性があるコードを生成します。
C++11 (ISO)
ISO/IEC 14882:2011 C++ 言語標準に準拠し、C++14 や C++17 などの C++ の後続バージョンと互換性があるコードを生成します。
ヒント
このパラメーターを設定する前に、使用する標準がコンパイラでサポートされていることを確認してください。コンパイラでサポートされていないパラメーター値を選択した場合、コンパイラ エラーが発生することがあります。
たとえば、
[C99 (ISO)]
を選択した場合、コード ジェネレーターは最小限のスコープを実装するため、その生成コードはC89/90
コンパイラでサポートされません。
ISO/IEC 9899:1999 C をサポートしていないコンパイラを使用する場合は、このパラメーターを
[C89/C90 (ANSI)]
に設定します。指定した言語標準とツールチェーンに互換性があるかどうかビルド プロセスでチェックされます。互換性がない場合、コード生成中に警告が発生しますがビルド プロセスは継続します。
ビルド プロセスで Linux® GCC コンパイラを使用している場合は、ソフトウェアは、コンパイラの既定の言語標準を使用して生成コードをコンパイルします。コンパイラのバージョンによって既定の言語標準は異なります。詳細については、C++ Standards Support in GCC を参照してください。
たとえば、GCC コンパイラ version 8.x を使用していて、[言語標準] パラメーターを
C++03
に設定した場合、ソフトウェアはコンパイル時にC++14
言語標準を使用します。C++14
を使用すると、C++11
またはC++14
の機能を使用するカスタム コードを統合する生成コードをビルドできます。パラメーターで指定した言語標準をコンパイル プロセスに適用する場合は、言語標準に固有のコンパイラ フラグを手動で追加しなければなりません。コードのビルドにツールチェーンを使用するようにモデルが構成されている場合は、次の手順を使用します。
[コンフィギュレーション パラメーター] ダイアログ ボックスで、[ビルド構成] を
[Specify]
に設定します。[ツールチェーンの詳細] で、
C Compiler
およびC++ Compiler
の [オプション] フィールドのエントリの最後に次のコンパイラ フラグを手動で追加します。[言語標準] が
C99(ISO)
に設定されている場合は、フラグ-std=c99 -pedantic
を追加します。[言語標準] が
C89/90(ANSI)
に設定されている場合は、フラグ-ansi -pedantic -Wno-long-long
を追加します。モデルの構成によっては、定義'typedef unsigned long long ulonglong_T'
を含む Coder のtypedef
ヘッダー ファイルがビルド プロセスに含まれることがあります。-Wno-long-long
は、long long
型の使用に関する C90 コンパイラの警告を抑制します。[言語標準] が
C++03
に設定されている場合は、フラグ-std=c++03 -pedantic
を追加します。[言語標準] が
C++11
に設定されている場合は、フラグ-std=c++11 -pedantic
を追加します。
推奨設定
アプリケーション | 設定 |
---|---|
デバッグ | 影響なし |
トレーサビリティ | 影響なし |
効率性 | 有効なライブラリ |
安全対策 | 影響なし |
プログラムでの使用
パラメーター: TargetLangStandard |
型: 文字ベクトル |
値: 'C89/C90 (ANSI)' | 'C99 (ISO)' | 'C++03 (ISO)' | 'C++11 (ISO)' |
既定の設定: C の場合は 'C99 (ISO)' 、C++ の場合は 'C++11 (ISO)' |
バージョン履歴
R2014a で導入