函数调用
此示例说明如何通过添加用于实现所需运算的子系统来生成函数调用。
C 构造
void add_function(void) { y1 = u1 + u2; }
过程
1.打开示例模型 ex_function_call
。
此子系统有两个输入并返回一个输出。
选择视为原子单元参数将启用代码生成选项卡上的参数。代码生成选项卡提供以下自定义:
函数打包设置为
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); #endif /* add_function_h_ */ /* * File trailer for generated code. * * [EOF] */
函数定义在子系统文件 add_function.c
中:
void add_function(void) { /* Outport: '<Root>/y1' incorporates: * Inport: '<Root>/u1' * Inport: '<Root>/u2' * Sum: '<S1>/Sum' */ rtY.y1 = u1 + u2; }