Verworrenes C++ bräuchte ne kleine Klärung



  • Es giebt ja 3 Programmierarten
    C++ normal als Stapelverarbeitung bzw DOS-Art
    WinAPI für Windows ohne MFC
    MFC

    eigentlich giebt es mehr als nur das. und das hat relativ wenig bedeutung. sehe mvc-konzept z.B. auf humes page ( http://bens.c-plusplus.info ).

    Meine Frage ist jetzt folgende ich hab diverse Tuts etc gezogen und stehe vor der einfachen Frage kann ich zB die Beispiele die in den MFC Tuts stehen auch auf WinAPI oder das normale C++ anwenden oder inwiefern sind die Arten untereinander Kompatibel. Bzw ich will irgendwann ein Spiel proggen empfiehlt sich da eher WinAPI oder MFC?

    es gibt zunächst mal c++. das ist so eine sprache, mit der man einges anstellen kann, solange es nicht bunt ist. vor allem rechnen und so geht ja klasse. nur mit der ausgabe hapert es. da ist nur cout vorgesehen. wenigstens giebt es im c++-standard nicht mehr. das nenne ich mal standard-c++ (nicht stapelverarbeitung oder DOS-art).

    will man irgendwann threads benutzen, sehr schnelle files, semaphoren, sehr schnellen speicher oder ähnliches, muss man zu c++ noch sachen aus der <windows.h> dazunehmen. dabei kann man es aber erstmal beim konsolenprogramm belassen. viele sachen, die windows dem programmierer anbietet, haben gar nichts mit grafik zu tun. da giebt es zum beispiel die sockets (aber in <winsock.h>, ohne die man eigebtlich gar nicht netzwerkverbindungen machen kann.

    die MFC packen c++-klassen um die sachen aus der <windows.h>. da giebt es dann klassen wie CFile für dateien und CSocket für sockets. das kann ganz praktisch sein. ups, wir sind immernoch bei konsole-anwendungen.

    eigntlich kannste damit brav dein spiel proggen. außer natürlich, du meinst, das sei nicht bunt genug.

    mehr farben gibt es dann mit der WinAPI. naja, aber umständlich bis zum weinen ist das. willste windows machen und so programme wie calc.exe, notepad.exe oder so machen, dann benutze ruhig die mfc. ne große trickkiste zu winapi und mfc findest du auf http://codeguru.com

    aber wolltest du nicht ein spiel machen? kann es ach ein wenig noch mehr bunt sein? da gips noch opengl und direct3d. siehe "nehe tutorial" in deine lieblingsschmaschine.

    jetzt weiß ich nicht, an welche sorte spiele du denkst. soll es ein völlig hrnloses 3d-ballerspiel sein? oder sowas wie autobahnraser? dann liegt das hauptgewicht ganz klar auf der 3d-programmierung. dann zieh dir die nehe tuts rein und evtl später ein buch oder zwei und mach sowas.

    in allen anderen fällen ist es vermutlich gut, ordentlich zu programmieren. das heißt, das spielgeschehen und die oberfläche dürfen nicht dicht verwoben sein. das zahlt sich dan beim debuggen und testen und verfeinern und optimieren und erweitern und einfach überall total aus. das wichtigste programm ist eine konsoleanwendung. ne kleine main.cpp, die immer gerademal ein kleines spielgeschehen simuliert (ohen benutzereingabe!, damit man bei tests schnell am kern ist). und später giebt es dann auch eine bunte anwendung. beide anwendungen benutzen (wenn die ide es erlaubt) die gemeinsamen klassen als gemeinsame statisch gelinkte lib (keine dll für sowas!).



  • Hallo,

    es gibt ISO C++, welches der Standard ist. Das kennt z. B. keine Fenster oder sonstigen grafischen Schnickschnack. Das läuft in der Regel überall. Damit solltest du eigentlich anfangen, Fenster etc. kannst dann später programmieren. Haben die meisten hier wahrscheinlich so gemacht.

    WinAPI ist nur für Windows, und es ist C und kein C++. Dort hast du die Möglichkeit, bestimmte windowsspezifische Dinge zu nutzen.

    MFC ist ein C++ Wrapper für die WinAPI. Ich kenn mich damit allerdings nicht aus, hab nur gehört, dass das den C++ Stil versauen soll. 🙂


Anmelden zum Antworten