So rufen Sie C ++ - Native Anhörung aus C # an
-
21-12-2019 - |
Frage
Ich bin nicht so gut in C ++ aber,.. Zum Beispiel habe ich das
generasacodicetagpre.und die Methode, die ich wie dieses importieren möchte
generasacodicetagpre.Wie kann ich dies von c # nennen?
neben, Ich denke, mein Problem ist mit dem Parametertyp (const char *) in C ++ - Seite, was ist der gleiche Typ in C # dafür!const char *
danke,
Lösung
So rufen Sie C ++ - Code von C #
oder
C ++ - Funktion von c # aufrufen
mit: [dllimport ("xxx.dll")] xxx.dll ist kompiliert durch c ++
hoffe diese Hilfe.
Andere Tipps
Es gibt ein paar Möglichkeiten, um einen nativen Code von C # aufzurufen.Am einfachsten ist es wahrscheinlich, P/Invoke
zu verwenden.
Angenommen, Ihre Funktion ist wie:
und es wird in eine iHEYDLLName.dll-Datei zusammengestellt, Sie können p / aufrufen, um den nicht verwalteten Code direkt auf folgende Weise von C # -Code aufzurufen:
generasacodicetagpre.siehe: http://msdn.microsoft.com / en-us / library / aA288468% 28Vs.71% 29.aspx .
Wenn Sie viele Funktionen mit komplexen Signaturen haben, sollten Sie wahrscheinlich eine Interop-Ebene in C ++ / CLI unternehmen. Weitere Informationen: //www.codeproject.com/artikel/19354/quick-cli-Learn-c-cli-in-inalität-han-10-Minuten
Ich habe gerade __cplusplus Check hinzugefügt und es funktionierte!
generasacodicetagpre.extern "c" {
endIf
generasacodicetagpre.ifdef __cplusplus
}