我想学习D,但是我不太了解重要的事情。
C++和D之间的当前互操作性状态如何?
我确信不可能链接到C++编译的二进制文件,因为它甚至不能与C++编译器一起使用。但是,如果我有C++库的源代码和一些D源代码,该怎么办?可以让他们说话吗? (希望以一种有效的方式)。
不同的C++版本(C++ 98、11、14、17和将来的版本)如何?
最佳答案
在最近几年中,与C++的D互操作性得到了很大的改善。如果您想了解更多信息,那么“D规范”的"Interfacing to C++"部分是一个好的开始。您可能还希望查看“神奇的” dpp项目-https://code.dlang.org/packages/dpp。
我不明白您有关链接的问题...无论您使用Assembly,C,C++,D或它们的任何组合,链接器都是相同的...您将能够链接C++库,但您可能不会能够使用内部的所有内容(取决于库中的内容)。我已经看到一个与Boost库链接的D应用程序示例。