Forum: PC-Programmierung C++ Code in ein Visual C# Projekt integrieren


von sven (Gast)


Lesenswert?

Ich habe aus einem Visual Studio C++ Projekt ein paar Funktionen, die 
ich gerne in mein Visual Studio C# integrieren möchte.

Kann ich das so "einfach" machen und wenn gibt's vielleicht eine 
Anleitung/ein Beispiel?

von Lutz H. (luhe)


Lesenswert?

C++ code zur DLL compilieren, Diese Funktionen als externen code 
aufrufen.

von sven (Gast)


Lesenswert?

Kann ich auch ein bestehendes Projekt mit Dos-Ausgabefenster so 
abändern, dass alles Funktionen, die nicht mit der Ausgabe zu tun haben, 
in die dll kompiliert werden?

von Borislav B. (boris_b)


Lesenswert?

sven schrieb:
> Dos-Ausgabefenster

Du benutzt C# unter DOS? Interessant... ;-)

sven schrieb:
> Kann ich auch ein bestehendes Projekt mit Dos-Ausgabefenster so
> abändern, dass alles Funktionen, die nicht mit der Ausgabe zu tun haben,
> in die dll kompiliert werden?

Teil dein Projekt in zwei Komponenten so auf, dass die gemeinsam zu 
nutzenden Funktionen in einer DLL landen. Die kannst du dann auch aus C# 
heraus verwenden.

Alternativ kannst du natürlich auch deine Konsolenanwendung per C# 
aufrufen und über stdin und stout mit ihr kommunizieren.

von Markus V. (valvestino)


Lesenswert?

sven schrieb:
> Kann ich auch ein bestehendes Projekt mit Dos-Ausgabefenster so
> abändern, dass alles Funktionen, die nicht mit der Ausgabe zu tun haben,
> in die dll kompiliert werden?

Mit #ifdef und etwas Gewalt geht das sicherlich.

Ich würde aber eher den C++ Code durch einem C++ To C# Converter 
umwandeln lassen. Dann hast Du eine homogene Umgebung, die Du problemlos 
sowohl für x86 als auch für x64 compilieren kannst. Das Einbinden von 
unmanaged DLLs geht unter C# zwar recht gut, macht aber bei 32/64-Bit OS 
immer Aufwand.

Grüße
Markus

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.