头顶上没有第四个字

  • 本文关键字:四个 forth
  • 更新时间 :
  • 英文 :


在编写符合标准的Forth时,像CHARS这样的词需要大量使用,这在我的Forth环境中没有实际效果。这样的操作会不会给Forth字典或我的冒号定义增加开销?

当冒号定义为IMMEDIATE时,没有用于标准遵从性或注释代码的操作词在冒号定义中没有显著的开销。这是因为IMMEDIATE导致在编译单词时执行单词,而不是编译单词。因此,编译后的代码中根本没有添加任何内容。

例如:

 Potential implementation of CHARS for a Forth environment
: CHARS ; IMMEDIATE
: test CHARS ;
SEE test   prints : test ;

例如,gforth就是这样实现CHARS的。

然而,并非所有福斯都会使用这种优化。如果没有,那么对函数的冗余调用将被编译到代码中。如果这对你来说是个问题,Forth允许你用上面的冒号定义重新定义CHARS等,以应用优化。

相关内容

  • 没有找到相关文章

最新更新