このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
生成された C/C++ コードを使用するアプリケーションをビルドする場合、生成されたコードを呼び出す C/C++ main 関数を提供しなければなりません。
既定では、C/C++ ソース コード、スタティック ライブラリ、ダイナミック ライブラリおよび実行可能ファイルのコード生成用に、MATLAB® Coder™ は C/C++ main 関数の例を生成します。この関数は、生成された C/C++ コードのアプリケーションへの組み込みに役立つテンプレートです。main 関数の例は動的に割り当てられたデータなどのデータを宣言して初期化します。これは、エントリポイント関数を呼び出しますが、エントリポイント関数が返す値は使用しません。
MATLAB Coder は、ビルド フォルダーの examples
サブフォルダーで main 関数の例に対するソース ファイルとヘッダー ファイルを生成します。C コード生成の場合、ファイル main.c
と main.h
を生成します。C++ コード生成の場合、ファイル main.cpp
と main.h
を生成します。
ファイル main.c
と main.h
を examples
サブフォルダーで変更しないでください。変更すると、コードの再生成時に MATLAB Coder でメイン ファイルの例が再生成されません。生成されたファイルに対する変更が検出されたことを警告します。main 関数の例を使用する前に、メイン ソース ファイルとヘッダー ファイルの例をビルド フォルダー以外の場所にコピーします。アプリケーションの要件を満たすように新しい場所でファイルを変更します。
関数 packNGo
と MATLAB Coder アプリの [パッケージ] オプションは、既定の構成設定を使用してファイルを生成する際にメイン ソース ファイルとヘッダー ファイルの例をパッケージ化しません。メイン ファイルの例をパッケージ化するには、コード生成を構成し、main 関数の例を生成してコンパイルし、コードを生成してからビルド ファイルをパッケージ化します。
コード生成用に MATLAB コードを準備します。
実行時の問題を確認します。
main の例の生成が有効になっていることを確認します。
エントリポイント関数の C/C++ コードを生成します。
メイン ファイルの例を examples
サブフォルダーから別のフォルダーへコピーします。
アプリケーションの要件を満たすように新しいフォルダーでメイン ファイルの例を変更します。
必要なプラットフォームに対して、main の例と生成されたコードを展開します。
アプリケーションをビルドします。
main の例の生成方法と、main の例を使用した実行可能ファイルのビルド方法については、アプリケーションにおける C の main の例の使用を参照してください。
[コード生成] ページで [生成] ダイアログ ボックスを開くために [生成] 矢印 をクリックします。
[生成] ダイアログ ボックスで [ビルド タイプ] を以下のいずれかに設定します。
ソース コード
スタティック ライブラリ
ダイナミック ライブラリ
実行可能ファイル
[詳細設定] をクリックします。
[すべての設定] タブの [詳細設定] で [main の例の生成] を次のいずれかに設定します。
設定値 | 対象 |
---|---|
main 関数の例を生成しない
| C/C++ main 関数の例を生成しません。 |
main 関数の例を生成するが、コンパイルしない (既定) | C/C++ main 関数の例を生成しますが、コンパイルはしません。 |
main 関数の例を生成してコンパイルする | C/C++ main 関数の例を生成してコンパイルします。 |
'lib'
、'dll'
または 'exe'
用のコード構成オブジェクトを作成します。次に例を示します。
cfg = coder.config('lib'); % or dll or exe
GenerateExampleMain
プロパティを設定します。
設定値 | 対象 |
---|---|
'DoNotGenerate'
| C/C++ main 関数の例を生成しません。 |
'GenerateCodeOnly' (既定) | C/C++ main 関数の例を生成しますが、コンパイルはしません。 |
'GenerateCodeAndCompile' | C/C++ main 関数の例を生成してコンパイルします。 |
次に例を示します。
cfg.GenerateExampleMain = 'GenerateCodeOnly';