Direct Threading,这里的threading与我们通常理解的线程没有任何关系,可以理解成是针线中的那个“线”。以这种方式执行时,每执行完一条指令后不是回到循环的开始,而是直接跳到下一条要执行的指令地址。这种方式就比原来的Switch Loop方式有效许多。但是要想有效的实现Direct Threading,需要用到一个gcc的扩展“Labels As Values”,普通的goto语句的标号是在编译时指定的,但是利用“Labels As Values”扩展,goto语句的标号是就可以在运行时计算(这种goto语句也叫Computed Goto),利用这个特性就可以很容易地实现Direct Threading。(想在windows平台用这个特性,也有几个GCC的windows移植版本,如MinGW, Cygwin等)