Wofuer Win32-Projekt
-
Hallo alle zusammen,
seit ca 3 Wochen programmiere ich nun in c++.
ich habe in dieser Zeit eigentl. nur Win32-Konsolenanwendungen realisiert.
Nun stellt sich mir die Frage : Wozu brauche ich das Win32-Projekt?
Ich weiß das ich damit Fenster erzeugen kann. Aber wofuer brauche ich das wenn mit den MFC anwendungen die Windows-styled Anwendungen realisiere?
Ich bin etwas verwirrt ...
viele Grüße
CirxXx
-
Damit erzeugst du Anwendungen rein auf Basis der WinAPI, also des Win32-SDKs, auf dem Windows nunmal basiert (das ist dann eher C statt C++). Das war früher die einzige Methode, um Windows-Programme zu schreiben. MFC ist ein WinAPI-Wrapper, der es mit einem objektorientierten Modell einfacher macht, Windows-Anwendungen zu erzeugen. Google and Wikipedia are your friends!
-
wenn ich das richtig verstanden habe kann ich damit auch Windowsfenster mit buttons etc machen und auch spiele usw
-
Klar. Die MFC kann nichts, was du nicht mit reiner WinAPI machen kannst, da sie nichts anderes tut, als die WinAPI-Funktionen zu wrappen (umhüllen), um dir das Leben zu erleichtern. Gerade, wenn's um Spiele geht, wirst du mit reiner WinAPI wohl auch Performance-Gewinne gegenüber MFC-Programmen erzielen können. Trotzdem solltest du eher zu MFC tendieren. Ist einfach besser zu handeln...
-
ah ok ich denke so langsam verstehe ich das. um das kompakt zusammenzufassen:
wenn ich beispielsweise ein Textverarbeitungsprogramm machen wuerde, mach ich ein MFC (ist langsamer als Winapi, aber bequemer) ich benutze den resource -editor fuer die buttons etc... . Ich könnte es zwar auch mit Winapi machen aber das ist halt aufwändiger.
gruß
CirxXx
-
Ja, aber bitte überschätze den Performance-Unterschied nicht. Das macht vielleicht bei professionellen Entwicklern, die einen mega-aufwändigen Shooter o.ä. entwickeln, was aus, aber nicht bei dir.
Dennoch finde ich es gut, wenn man sich für den Einstieg erstmal mit WinAPI beschäftigt. Dann versteht man Wrapper wie MFC vielleicht besser und weiß sie vor allem zu schätzen! An erster Stelle sollte für dich aber erst mal die Konsole stehen. Da solltest du nach gerade mal 3 Wochen Erfahrung auch noch eine Weile bleiben (es sei denn, du hast in anderen Sprachen bereits viel Erfahrung gesammelt).
-
Naja, die MFC zwingt dir an vielen Stellen auch gewisse C++ Konstrukte in einer ganz bestimmten Form auf, was WinAPI nicht bzw. kaum tut. z.B. musst du wenn du mit MFC arbeitest die MFC Exceptions per Zeiger fangen und dann löschen, solche Dinge.
Was die Performance angeht: gerade für Spiele ist es denke ich komplett egal ob man mit WinAPI direkt oder mit MFC arbeitet - Geschwindigkeitsunterschied wird man wohl keinen feststellen können. Die MFC verwendet man in Spielen doch sowieso nur um mal eben ein einfaches Fenster anzulegen und ein paar Messages zu empfangen.
-
vielen dank für eure Antworten. Ihr habt mir sehr geholfen!

@_matze Ja ich hab schon vorher mit Java programmiert , ca 1 jahr oder so...