CodegenDecl编译指示

codegenDecl 编译指示可用于直接影响Nim的代码生成器。

它接收一个格式字符串,用于确定如何在生成的代码中声明变量或proc。

对于变量,格式字符串中的$1表示变量的类型,$2是变量的名称。

以下Nim哇到处:

  1. var
  2. a {.codegenDecl: "$# progmem $#".}: int

会生成这个C代码:

  1. int progmem a

对于过程,$1是过程的返回类型,$2是过程的名称,$3是参数列表。

下列nim代码:

  1. proc myinterrupt() {.codegenDecl: "__interrupt $# $#$#".} =
  2. echo "realistic interrupt handler"

会生成这个代码:

  1. __interrupt void myinterrupt()