【发布时间】:2014-11-14 06:08:58
【问题描述】:
我已经浏览了http://dlang.org/cpp_interface.html 并且在所有示例中,即使是某些 C++ 代码调用某些 D 代码的示例,主函数驻留在 D 中(因此被调用的二进制文件是从 D 源编译的那个)文件)。文档中的“从 C++ 调用 D”示例在 D 中定义了一个函数 foo,该函数从 C++ 中的函数 bar 中调用,而 bar 又从 D 中的主函数中调用。
是否可以只从 C++ 函数调用 D 代码?我正在尝试做一些简单的事情,如下所示,但不断收到构建错误:
在 D 中:
import std.stdio;
extern (C++) void CallFromCPlusPlusTest() {
writeln("You can call me from C++");
}
然后在 C++ 中:
#include <iostream>
using namespace std;
void CallFromCPlusPlusTest();
int main() {
cout << "hello world"<<"\n";
CallFromCPlusPlusTest();
}
【问题讨论】: