不知道是我编译器版本的问题还是官方疏忽,就这样一段简单的代码
import core.thread;
import std.stdio: write, writeln, writef, writefln;
void main(){
new Thread({ // Codes to run in the newly created thread.
writeln("Hello World!");
}).start();
}
在Windows平台上面编译失败,但在其他平台都是正常通过的。
报错显示
Error 42: Symbol Undefined __D4core6thread6Thread5startMFNbZCQBfQBdQz
这是我在用thread.sleep的时候发现的,当时还奇怪了好久,用了core.sys.windows.winbase里面的Sleep就没问题。后来发现是这句代码压根就不能在Windows平台上面用。。。
就算你是平台特定代码吧,你的包名也不是core.unix.thread,搞得大家还以为你这是通用代码,新手见到这种代码直接被劝退,明明自己就是按照官方教程来的怎么会出错呢?这就是D语言火不起来的原因。。。目前的莫名其妙的错误太多了,可怜的新手无法学习。。。
当然我还是喜欢D语言:)