函数
FunC 程序本质上是一系列函数声明/定义和全局变量声明。本节涵盖了第一个主题。
任何函数声明或定义都以一个共同的模式开始,接下来有三种情况之一:
-
单个
;
,表示函数已声明但尚未定义。它可能会在同一文件中的后面或在传递给 FunC 编译器的其他文件中定义。例如,int add(int x, int y);
是一个名为
add
类型为(int, int) -> int
的函数的简单声明。 -
汇编函数体定义。这是通过低层级 TVM 原语定义函数以便在 FunC 程序中后续使用的方法。例如,
int add(int x, int y) asm "ADD";
是同一个
add
函数的汇编定义,类型为(int, int) -> int
,将转换为 TVM 操作码ADD
。 -
常规块语句函数体定义。这是定义函数的常用方式。例如,
int add(int x, int y) {
return x + y;
}是
add
函数的常规定义。