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();
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage