So rufen Sie C ++ - Code von C # auf

8

Ich habe C ++ Code. Dieser Code enthält Windows Mobile GPS-Funktionen zum Aktivieren / Deaktivieren. Ich möchte diese Methode aus C # -Code aufrufen, dh wenn der Benutzer auf eine Schaltfläche klickt, sollte C # -Code in C ++ - Code aufgerufen werden.

Dies ist der C ++ - Code zum Aktivieren der GPS-Funktion:

%Vor%

Und das ist die Header-Datei cppdll.h :

%Vor%

Wie kann ich diese Funktion mit C # aufrufen?

Bitte, kann mir jemand mit diesem Problem helfen?

    
Piraba 23.02.2012, 05:20
quelle

1 Antwort

17

Ich gebe Ihnen ein Beispiel.

Sie sollten Ihre C ++ - Funktionen für den Export wie folgt deklarieren (unter der Annahme, dass der aktuelle MSVC-Compiler):

%Vor%

Und kompilieren Sie Ihr C ++ - Projekt als DLL-Bibliothek. Legen Sie die Projektzielerweiterung auf .dll und den Konfigurationstyp auf Dynamische Bibliothek (.dll) fest.

Dann deklarieren Sie in C #:

%Vor%

Dann können Sie Ihre C ++ - Testfunktion wie erwartet aufrufen. Beachten Sie, dass es möglicherweise etwas knifflig wird, wenn Sie Strings, Arrays, Pointer usw. übergeben möchten. Siehe zum Beispiel diese SO Frage.

    
Gleno 23.02.2012, 05:26
quelle

Tags und Links