[C++/C#]Ein paar Fragen zu C#

SiWi

Ensign
Registriert
Apr. 2005
Beiträge
217
Ich habe mich ein bisschen über C# informiert und möchte vielleicht von C++ umsteigen.
Ich habe aber noch ein paar Fragen:
1. Wie gut klappt das Einbinden von C++, wenn man nicht mit .NET arbeitet?
2. Wie gut klappt es, wenn man mit .NET arbeitet?
3. Wie siet es mit DirectX aus?

Danke schon mal im Vorraus für Antworten.
 
was bitte verstehst du unter einbinden, wenn du nicht mit .net arbeiten willst? in was willst du c++ einbinden?

beim einbinden von c++ in .net sieht es eher mau aus. wenn du in .net schreiben willst, solltest du auf c++ verzichten.
 
@ghorst (sorry, kann mir deinen Namen nicht merken :)):
Warum das? Ich habe mich zwar noch nicht mit .Net befasst, aber es gibt doch extra dafür C++/CLI.
 
ms sagt, dass sollst du nicht tun. ;-)

c++ in .net ist ein bisschen naja seltsam. die syntax ist an vielen stellen recht verbogen, um es passend zu machen. das objekt modell von .net ist nun mal das von c# und alle sprachen des frameworks wurdes diese aufgezwungen.
ein anderes problem ist der(oder heißt es die?) gc. c++.net hat eine syntax die es dir bei wunsch erlaubt, code zu schreiben, der vom gc gesäubert wird. leider wurde dafür ein neuer new-befehlt nämlich new^ eingeführt. den muss man nutzen, wenn man .net-framework nutzen will. bei managed c++ kommt dann noch die unterscheidung zwischen __gc und __nongc und ein haufen neuer syntax dazu, die man mitschleppen muss.
es ist aus meiner sicht mehr eine möglichkeit einer langsamen migration eines projektes von der mfc auf .net, ohne logik komplett neu zu programmieren, aber langsam die möglichkeiten von .net nutzen zu können, als eine ernsthafte alternative für ein neues projekt.

mfg
gregor
 
Ich meine mit Einbinden das Verwenden von alten C++ Projekten in C#. Wiß jemand wie es mit
3. aussieht?
 
einbinden ist als unmanaged-code kein wirkliches problem. nur nutzt dann c++ nicht die .net-bibliotheken. c# schon, was dann zu ein paar mehr layern führen kann.
was dx 9 unterstützt c/c++ und c#. (kann übrigens bei ms gut nachlesen... daher schrob ich es bisher nicht. )
vor dx 9 war eine unterstützung nur für c/c++ gegeben.
 
Danke für die Antwort. Dann steige ich jetzt auf C# um und kann meinen alten C++ verwenden, denn ich habe bis jetzt eh unmanaged geschrieben.
 
Zurück
Oben