D转换器:是否有将D语言转换为Java或C++的方法?

3

由于D与C接近,我想知道是否已经有翻译器存在。

如果没有,您是否有其他中间解决方案?


1
编译成本地代码有什么问题吗?大多数平台都有编译器存在。 - Rafe Kettler
谢谢你的回答,Rafe。我想在一个非常大的Java项目中使用一个古老的D项目,但我不想将整个D项目重写为Java。 - Dconversor
2
有一个“古老”的D项目? - Mark Peters
谢谢你的回答,马克。我正在尝试寻找这样的项目。你有任何参考资料吗?它的名字是“_ancient_”吗?如果我找到了,我会在这里发布,为其他未来有同样问题的用户提供帮助。 - Dconversor
谢谢Jonathan。问题是我不想重复写同样的东西。JNI并不是一个真正的选择。 - Dconversor
显示剩余2条评论
3个回答

5

有一个名为TDC的项目,旨在将D语言转换成C语言,但该项目已被放弃。还有一个名为TioPort的项目,它则是将Java语言转换成D语言。不过我不确定它是否有效。

最后,我认为LLVM可以将其字节码转换为(完全无法阅读的)C代码。LDC可以使用LLVM编译D代码,而且我认为(但不确定)它可以输出字节码而非本地代码。


1
谢谢dsimcha。我找到了dax,它旨在将D代码编译为Haxe。而Haxe则可以编译成PHP、Flash、JavaScript、NekoVM和C++。也许从这里可以使用一个C++到Java的解决方案。 - Dconversor

2

我认为最好的方法是在D代码上创建一个轻量级的C语言外壳,手动构建所需的头文件,然后使用类似SWIG的工具生成绑定,以便从Java中使用“C”函数。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接