API, MFC und so weiter



  • Hallo zusammen,
    ich wollte schon immer auf Windows programmieren, weiß aber nicht womit?
    Ursprünglich hatte ich mir die API ausgesucht, doch lohnt es sich noch die zu lernen? Ist die nicht schon veraltet? Ich möchte schon das lernen, was ich später für den Informatik Unterricht auch gebrauchen kann. Also nicht das ich jetzt die wxWidgets lerne und in der Schule muss ich dann umsteigen auf MFC. Was würdet ihr mir empfehlen?

    Und worin bestehen eigentlich die unterschiede zwischen C++, Visual C++ und C#.
    Ich hab mit C++ angefangen, dort aber nur DOS Programme geschrieben.

    ich wäre euch sehr dankbar



  • seux schrieb:

    Ursprünglich hatte ich mir die API ausgesucht, doch lohnt es sich noch die zu lernen? Ist die nicht schon veraltet?

    Wenn du WinAPI meinst, ja und nein. So ein paar ganz neue Vistasachen gibts glaub ich noch in keinem Framework. Das Design der WinAPI ist veraltet.



  • Ich möchte schon das lernen, was ich später für den Informatik Unterricht auch gebrauchen kann. Also nicht das ich jetzt die wxWidgets lerne und in der Schule muss ich dann umsteigen auf MFC. Was würdet ihr mir empfehlen?

    Was du in der Schule lernen wirst musst du schon selber wissen

    Und worin bestehen eigentlich die unterschiede zwischen C++, Visual C++ und C#.
    Ich hab mit C++ angefangen, dort aber nur DOS Programme geschrieben.

    Visual C++ gibts nicht wirklich, ist eigentlich nur so ein Marketingname von Microsoft für C++. sonst schau mal bei wikipedia



  • PS: Scheiß Spamfilter. Da landet man immer nur bei "Sie müssen ein Thema.. eingebne"



  • selbst wenn man für windows programmiert, muss man sich die winapi nicht antun. gibt genug frameworks (xwwidgets, qt, etc.), die den zugriff darauf anständig kapseln.

    winapi lohnt sich eigentlich nur dann, wenn man schweinereien wie DLL hooking o.ä. machen möchte, die direkt auf systemfunktionen operieren.

    muss aber dazu sagen, dass ich ne grundsätzliche abneigung gegen die winapi hab. die ist so hässlich 😃



  • Ich glaube die wahrscheinlich in der schule c# (oder vb.net) zu lernen ist relativ groß.



  • eignet sich denn die MFC und die wxWidgets auch für Spieleprogrammierung?



  • Wenn du unter Spieleprogrammierung auch die entsprechenden Tools meinst, dann ja.



  • ich mein damit, ob ich z.B. mit den MFC ein PC Spiel schreiben kann. Wenn du mit "entsprechende Tools" sowas wie nen Level Editor oder ähnliches meinst, das ist für mich kein Spiel.
    Kann ich damit z.B. eine MessageBox ein vollig neues design geben?



  • Einer MessageBox ein neues Design geben, ist auch kein Spiel ;). Geht aber mit vielen GUI-Libs, wie auch wxWidgets oder MFC.
    Aber generell:
    Um Spiele zu programmieren, musst du DirectX oder OpenGL verwenden. Und ja, das geht theoretisch auch mit MFC. Wird aber nicht empfohlen, da solche GUI-APIs auf Anwendungen ausgelegt sind, nicht auf Spiele. Es gibt einfach oft zuviel Overhead. Wer Spiele programmiert, nutzt meistens ein natives Win32 Fenster.
    wxWidgtes nutze ich in meiner GameDLL (aka Engine) selbst, allerdings nur die Basis-Funktionen wie Strings, XML etc.
    UI-Interfaces in einem Spiel werden btw. _nicht_ über Windows aufgerufen, sondern man entwickelt meistens etwas eigenes oder nutzt bestehende OSS-Produkte.
    rya.



  • Mit MFC und Co kannst du so Spiele wie Minesweeper, Solitär usw. schreiben.

    Für Spiele mit mehr Grafik sind DirectX/OpenGL und Frameworks dazu oder gleich fertige Engines besser.



  • ich hoffe das ich das jetzt richtig verstanden habe:
    MFC/wxWidgets sind Frameworks
    um ein 3D Spiel zu entwieckeln brauch ich noch DirectX / OpenGL
    mit den MFC/wxWidgets + DirectX / OpenGL kann ich ein 3D Spiel entwickeln

    muss ich MFC eigentlich installieren, oder wird das schon vom Compiler übernommen.
    wxWidgets muss ich installieren, das weiß ich.



  • MFC ist dabei, sofern du den MSVC hast. Aber für ein 3D-Spiel rate ich davon dringenst ab. Es kann dich am Ende einfach zuviel Performance kosten.
    rya.



  • wenn nicht MFC, was denn dann? API vielleicht?



  • Ein natives Win32-Fenster. Falls du von mir etwas Code dazu haben möchtest, dann kannst mich anmailen oder icq'en. Hab da ein Framework geschrieben, das dir dabei helfen kann. Läuft allerdings atmo mit OpenGL, allerdings wäre es nicht zu schwer, da DirectX einzubauen, da alles sauber in Klassen getrennt ist.
    mail: scorcher24 #at# gmail dot com
    icq: 789##517##07

    Die ## wegdenken.
    rya.



  • lad dir das directx sdk runter, da sind beispiele dabei



  • seux schrieb:

    um ein 3D Spiel zu entwieckeln brauch ich noch DirectX / OpenGL

    Nein

    seux schrieb:

    muss ich MFC eigentlich installieren, oder wird das schon vom Compiler übernommen.
    wxWidgets muss ich installieren, das weiß ich.

    MFC gibt es nur für den MSVC und BCB. Die MFC gilt eigentlich als veraltet und ist afaik nicht gerade flexibel, wenn es um das Anpassen der Kontrollelemente geht.

    btw.
    http://en.wikipedia.org/wiki/Software_framework
    http://de.wikipedia.org/wiki/Programmierschnittstelle



  • rüdiger schrieb:

    seux schrieb:

    um ein 3D Spiel zu entwieckeln brauch ich noch DirectX / OpenGL

    Nein

    Kannst du mir das mal bitte näher erklären? Mit was möchtest du denn sonst 3D-Graphiken auf den Bildschirm bringen? Und er redet von einem 3D-Spiel.
    rya.



  • Scorcher24 schrieb:

    rüdiger schrieb:

    seux schrieb:

    um ein 3D Spiel zu entwieckeln brauch ich noch DirectX / OpenGL

    Nein

    Kannst du mir das mal bitte näher erklären? Mit was möchtest du denn sonst 3D-Graphiken auf den Bildschirm bringen? Und er redet von einem 3D-Spiel.
    rya.

    Du könntest sie in Software rendern, eine andere Schnittstelle benutzen, ein fertiges Framework nehmen (ala Ogre3d oder wie sie alle heißen) etc.



  • Das is korrekt, aber glaubst du nicht, dass du mit so einem simplen "nein" den TE noch mehr verwirrst? Ere ist ja offensichtlich Anfänger und dann auf eigentlich gute Antworten das Gegenteil zu behaupten, trägt nicht gerade zur Lösung des Problems bei.
    Und wo wir bei Anfänger sind.... einem Anfänger Ogre in die Hand drücken zu wollen, ist das selbe wie mit Boost...
    rya.


Anmelden zum Antworten