我已经阅读了http://dlang.org/cpp_interface.html中的所有示例,即使是一些C++代码调用D代码的示例,主函数也是在D中(因此调用的二进制文件是从D源文件编译的)。文档中“从C ++调用D”的示例有一个在D中定义的函数foo,该函数从C ++中的函数bar中调用,而bar又从D中的主函数中调用。
直接从C++函数调用D代码是否可行?我正在尝试做一些简单的事情,如下所示,但始终出现构建错误:
在D中:
然后在C++中:
直接从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();
}