对象操作(相对于函数或全局操作)会映射到具有相同返回类型的 C 函数。为操作生成的第一个自变量是指向该操作所操作的特定对象的指针。me 指针之后的是模型中所指定的操作自变量的原始列表。
例如,以下原型是为对象类型 B 的名称为 print() 的操作而生成的:
void B_print(B* const me);
函数原型在 B 的规范文件中生成。唯一的自变量是指向类型 B 的称作 me 的对象的指针。
请在模型中 B 的 print() 操作的实施中输入以下行:
char *str;
str = "This is B";
printf("%s\n", str);
void B_print(B* const me) {
NOTIFY_OPERATION(me, NULL, B, print, print(), 0,
print_SERIALIZE);
{
/*#[ operation print() */
char *str;
str = "This is B";
printf("%s\n", str);
/*#]*/
}
}
您可以手动编辑 /*#[ 和 /*#] 符号之间的操作。通过选择将您的更改返回到模型中。
如果已启用动画并且操作没有需要创建动画的自变量,那么会为操作(例如,print_SERIALIZE)生成 SERIALIZE 宏。SERIALIZE 宏用于在检测期间显示操作。不会为直接插入操作生成 SERIALIZE 宏。