このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
coder.target
コード生成ターゲットが指定されたターゲットかどうかを判別
説明
例
coder.target
を使用した MATLAB 関数のパラメーター化
MATLAB または生成コードで機能するように、MATLAB 関数をパラメーター化します。この関数は、MATLAB で実行されると MATLAB 関数 myabsval
を呼び出します。ただし、生成コードは C ライブラリ関数 myabsval
を呼び出します。
MATLAB 関数 myabsval
を記述します。
function y = myabsval(u) %#codegen y = abs(u);
入力パラメーターのサイズ、型および実数/複素数を指定するために、-args
オプションを使用して myabsval
の C スタティック ライブラリを生成します。
codegen -config:lib myabsval -args {0.0}
codegen
はライブラリ ファイル myabsval.lib
およびヘッダー ファイル myabsval.h
をフォルダー \codegen\lib\myabsval
内に作成します (ライブラリ ファイルの拡張子はプラットフォームによって異なります)。関数 myabsval_initialize
と 関数 myabsval_terminate
を同じフォルダー内に生成します。coder.ceval
を使用して生成された C ライブラリ関数を呼び出す MATLAB 関数を記述します。
function y = callmyabsval(y) %#codegen % Check the target. Do not use coder.ceval if callmyabsval is % executing in MATLAB if coder.target('MATLAB') % Executing in MATLAB, call function myabsval y = myabsval(y); else % add the required include statements to generated function code coder.updateBuildInfo('addIncludePaths','$(START_DIR)\codegen\lib\myabsval'); coder.cinclude('myabsval_initialize.h'); coder.cinclude('myabsval.h'); coder.cinclude('myabsval_terminate.h'); % Executing in the generated code. % Call the initialize function before calling the % C function for the first time coder.ceval('myabsval_initialize'); % Call the generated C library function myabsval y = coder.ceval('myabsval',y); % Call the terminate function after % calling the C function for the last time coder.ceval('myabsval_terminate'); end
MEX 関数 callmyabsval_mex
を生成します。コマンド ラインで、生成されたライブラリ ファイルを指定します。
codegen -config:mex callmyabsval codegen\lib\myabsval\myabsval.lib -args {-2.75}
コマンド ラインでライブラリを指定する代わりに、coder.updateBuildInfo
を使用して関数内でライブラリを指定できます。このオプションを使用してビルドを事前設定します。次の行を else
ブロックに追加します。
coder.updateBuildInfo('addLinkObjects','myabsval.lib','$(START_DIR)\codegen\lib\myabsval',100,true,true);
メモ
START_DIR
マクロは MATLAB Coder™ を使用したコードの生成に対してのみサポートされています。
ライブラリ関数 myabsval
を呼び出す MEX 関数 callmyabsval_mex
を実行します。
callmyabsval_mex(-2.75)
ans = 2.7500
MATLAB 関数 callmyabsval
を呼び出します。
callmyabsval(-2.75)
ans = 2.7500
callmyabsval
は、MATLAB およびコード生成での実行について目的の動作を示します。入力引数
target
— コード生成ターゲット
'MATLAB'
| 'C'
| 'C++'
| 'CUDA'
| 'OpenCL'
| 'HLS'
| 'SystemVerilog'
| 'Verilog'
| 'VHDL'
| 'MEX'
| 'Sfun'
| 'Rtw'
| 'HDL '
| 'Custom'
文字ベクトルまたは string スカラーとして指定されるコード生成ターゲット。次のターゲットのいずれかを指定します。
'MATLAB' | MATLAB での実行 (コードの生成ではない) |
| コード生成用のサポートされるターゲット言語 |
'MEX' | MEX 関数の生成 |
'Sfun' | Simulink® モデルのシミュレーション。アクセラレータ モードでの実行にも使用されます。 |
'Rtw' | LIB、DLL または EXE ターゲットの生成。Simulink Coder およびラピッド アクセラレータ モードでの実行にも使用されます。 |
'HDL' | HDL ターゲットの生成 |
'Custom' | カスタム ターゲットの生成 |
例: tf = coder.target('MATLAB')
例: tf = coder.target("MATLAB")
メモ
CUDA
または High-Level Synthesis (HLS)
のコード生成の場合、 coder.target('C++')
は常に true
です。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
バージョン履歴
R2011a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)