このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
外部Cコードの仿真软金宝app件モデルからの統合と呼び出し
金宝appSimulink /用户定义函数
C函数ブロックは外部Cコードを仿真软金宝app件®モデルから統合し,呼び出します。このブロックを使用して,データの前処理または後処理を行うことで,外部コードを定義し,コードの統合をカスタマイズします。また,カスタマイズされたコードをシミュレーションとCコードの生成に指定できます。コードで条件付きで定義されている関数を呼び出すことも,1つのブロックで複数の関数を呼び出すこともできます。このブロックを使用して,ブロックの永続データを初期化し,外部関数に渡すことができます。
C函数ブロックを使用してC数学库関数のサブセットを呼び出すこともできます。詳細については,C函数ブロックからのCライブラリ関数の呼び出しを参照してください。
C函数ブロックは永続データの初期化とブロックのダイアログからの外部関数の呼び出しをサポートします。C函数ブロックは,永続データの初期化と終了のみをサポートします。ブロックは、シミュレーション中のデータの更新をサポートしません。連続状態をもつ動的システムをモデル化するには、功能ブロックを使用します。功能の詳細については、什么是s函数?を参照してください。
C函数ブロックによって呼び出されるソースコードとサポートファイルを,コンフィギュレーションパラメーターの[シミュレーションターゲット]ペインで定義します。
金宝app仿真软件の次の機能はC函数ブロックとは互換性がありません。
金宝app仿真软件覆盖™
実行カバレッジのみが計測されます。
金宝app仿真软件代码检查员™
金宝app仿真软件设计校验™
——テストハーネス
金宝app仿真软件报告生成器™でのC函数ブロックの使用
さらに,C函数ブロックで参照されるソースコードには次の制限が適用されます。
Cのキーワード静态
はサポートされない。
タイムステップを超えて値をキャッシュするには,シンボルをブロックダイアログの[シンボル]テーブルで(持续)
として定義します。
スクリプトにはファイルを含めることができない。
外部関数は,コンフィギュレーションパラメーターダイアログの[シミュレーションターゲット]ペインで指定しなければなりません。
新しいインクルードと混在させられない,[シミュレーションターゲット]ペインで定義された既存のインクルードがある場合,そのインクルードとC函数ブロックをライブラリモデルに追加することを考慮し,メインモデルでブロックへのリンクを使用します。詳細については,カスタムライブラリの作成を参照してください。
異なる型のポインターを相互に割り当てることはできない。外部関数を呼び出す際にはポインターの型は一致していなければなりません。
コードは定数のアドレスを取ることができない。
C函数ブロックからCライブラリ関数の一部を直接呼び出すことはサポートされない。直接呼び出すことができるC数学库関数のリストを確認するには,C函数ブロックからのCライブラリ関数の呼び出しを参照してください。その他のCライブラリ関数を呼び出すには,そのCライブラリ関数を呼び出すラッパー関数を作成します。