Aufrufen einer D-Funktion direkt aus C ++
Ich habe durchgegangenhttp: //dlang.org/cpp_interface.htm und in allen Beispielen, auch wenn C ++ - Code D-Code aufruft, befindet sich die Hauptfunktion in D (und daher wird die Binärdatei aus der D-Quelldatei kompiliert). Das Beispiel "Aufruf von D aus C ++" im Dokument enthält eine in D definierte Funktion foo, die von einer Funktionsleiste in C ++ aufgerufen wird und die wiederum von der Hauptfunktion in D aufgerufen wird.
Ist es möglich, nur D-Code von der C ++ - Funktion aufzurufen? Ich versuche, etwas Einfaches wie das Folgende zu tun, erhalte aber weiterhin Erstellungsfehler:
In D:
import std.stdio;
extern (C++) void CallFromCPlusPlusTest() {
writeln("You can call me from C++");
}
Dann in C ++:
#include <iostream>
using namespace std;
void CallFromCPlusPlusTest();
int main() {
cout << "hello world"<<"\n";
CallFromCPlusPlusTest();
}