Main Content

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

関数呼び出し

この例では、目的の操作を実装するサブシステムを追加して関数呼び出しを生成する方法を示します。

C コンストラクター

void add_function(void)
{ 
   y1 = u1 + u2;
}

手順

1. モデル例 ex_function_call を開きます。

サブシステムには 2 つの入力があり、1 つの出力を返します。

[Atomic サブシステムとして扱う] を選択すると、[コード生成] タブのパラメーターが有効になります。[コード生成] タブでは次のカスタマイズが行われています。

  • [関数のパッケージ化]Nonreusable function に設定

  • [関数名オプション]User specified に設定

  • [関数名]add_function と指定

  • [ファイル名オプション]Use function name に設定

2. モデルをビルドしてコードを生成するには、Ctrl+B を押します。

結果

ex_function_call.c で、関数が ex_function_call_step から呼び出されています。

/* Model step function */
void ex_function_call_step(void)
{
  /* Outputs for Atomic SubSystem: '<Root>/Add_Subsystem' */
  add_function();

  /* End of Outputs for SubSystem: '<Root>/Add_Subsystem' */
}

関数プロトタイプがサブシステム ファイル add_function.h によって外部で宣言されています。

extern void add_function(void);

関数定義がサブシステム ファイル add_function.c に含まれています。

void add_function(void)
{
  /* Outport: '<Root>/y1' incorporates:
   *  Inport: '<Root>/u1'
   *  Inport: '<Root>/u2'
   *  Sum: '<S1>/Sum'
   */
  rtY.y1 = u1 + u2;
}

参考

関連するトピック