[新闻] LDC2 试玩,WIn7 64 bit,LLVM+CLang, link 已经不远

achun 2013-01-26

环境是Win7 64 bit,必须的,这是作者说的。


编译基本照着 Wiki 走就行,编译中遇到的一些问题,提示也很明确,改改配置就OK了。
好了,终于编译完成了,ldc2 -c 没有问题。但是 link 还不行。


作者也说了ldc2采用的是 msvs 的 link 和 lib (win下不用人家的系统 lib 是不可能的),这样编译出的Object file 格式都是COFF的,这天生就和火星的 OMF 不同。所以当前火星提供的 link 是不可能成功。

 

那就用 vs 的link吧,但是现在发现还是link不成,因为dmd 的 linker在设计的时候对于一些math函数进行了优化,采用了连接器 builtin 优化。phobos 源代码中就没有对应的实现。官网也讨论过这个builtin问题,说以后为做成 asm inline的。现在仍然是 link builtin的。


而vs的link是没有对这些进行支持的,所以ldc2 -c 成功,vs link 失败。

 

理论上说如果只是一个builtin问题,应该可以hack的,但是谁知道其他还有多少个坑呢!

好在 ldc 的作者正在加紧 dmd2 的修改。查看 github 中 ldc,druntime,phobos里面的代码更新还是比较快的。从源代码中很明显看出要用 LLVM+CLang 了。

 

期待啊!

 

achun 2013-03-20
刚刚git了ldc最新,已经可以用ms link连接m64的程序了。builtin的函数好像是移除了。
Global site tag (gtag.js) - Google Analytics