- unroll编译指示
unroll编译指示
unroll 编译指示可用于告诉编译器它应该为执行效率展开 for 或 while 循环:
- proc searchChar(s: string, c: char): int =
- for i in 0 .. s.high:
- {.unroll: 4.}
- if s[i] == c: return i
- result = -1
在上面的例子中,搜索循环按因子4展开。展开因子也可以省略;然后编译器选择适当的展开因子。
注意 :目前编译器会识别但忽略此编译指示。