Grafische Oberfläche mit C?



  • wenn du dich eingehender mit der winapi beschäftigen willst (auch auf längere sicht) würde ich dir noch den petzold ans herz legen (nur 30€ im moment 😮 ) und natürlich gehört das msdn als primärreferenz in die bookmarks-toolbar 🙂



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Andere GUIs - Qt, GTK+, wxWidgets verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Es gibt aber noch einige andere einfachere GUI-Libs (als direkt die WinAPI zu benutzen, auch wenn man einige Funktionen daraus dann doch benötigt).
    Aber um einfach ein Fenster mit Standard-Controls zu erstellen, gibt es eine Liste von GUI-Libs, z.B. http://www.geocities.com/SiliconValley/Vista/7184/guitool.html (gekennzeichnet mit "C API").

    Eine andere gute Lib kann ich auch noch empfehlen: IUP
    http://en.wikipedia.org/wiki/IUP_(software)
    http://www.tecgraf.puc-rio.br/iup/



  • sothis_ schrieb:

    wenn du dich eingehender mit der winapi beschäftigen willst (auch auf längere sicht) würde ich dir noch den petzold ans herz legen (nur 30€ im moment 😮 )

    Wie gut ist das Buch denn für absolute WinApi-Neulinge geeignet?
    Sprich für die, die sich mit der Materie von Betriebssystemen nicht auskennen, wohl aber fundierte Grundkenntnisse in diversen Programmiersprachen(C,C++,Asembler,Java) besitzen?



  • der Fragende schrieb:

    sothis_ schrieb:

    wenn du dich eingehender mit der winapi beschäftigen willst (auch auf längere sicht) würde ich dir noch den petzold ans herz legen (nur 30€ im moment 😮 )

    Wie gut ist das Buch denn für absolute WinApi-Neulinge geeignet?
    Sprich für die, die sich mit der Materie von Betriebssystemen nicht auskennen, wohl aber fundierte Grundkenntnisse in diversen Programmiersprachen(C,C++,Asembler,Java) besitzen?

    sehr gut. der petzold ist mehr ein riesengroßes tutorial als eine referenz, sehr detailliert und gut geschrieben. es ist nicht umsonst das meistgekaufte buch zur windowsprogrammierung 🙂



  • Niemand sollte sich imo tiefer mit dem WinAPI beschäftigen, Anfänger schon gar nicht. In der Liste des von Th69 geposteten Links finden sich genug Alternativen. Ansonsten einfach mal GTK+ anschauen.



  • GPC schrieb:

    Niemand sollte sich imo tiefer mit dem WinAPI beschäftigen

    wieso? wer spass dran hat, kann das doch tun.
    🙂



  • GPC schrieb:

    Niemand sollte sich imo tiefer mit dem WinAPI beschäftigen, Anfänger schon gar nicht. In der Liste des von Th69 geposteten Links finden sich genug Alternativen. Ansonsten einfach mal GTK+ anschauen.

    also echt mal, diese ganze winapi-is-teh-suck,-nimm-ne-bibliothek philosophie ist imho genau für anfänger falsch. würden alle mit diesem abstraktionsmist anfangen, hätten wir bald keine programmierer mehr, die sich um den ganzen lowlevel-kram kümmern 🙂



  • ^^ nicht nur das. man muss trotzdem auf winapi zurückgreifen, wenn die lib mal was nicht hergibt. und daher kann es nicht verkehrt sein, dass man, auch wenn man vorzugsweise solche abstraction layer benutzt, sich mit dem darunterliegenden fensterchen-system auskennt.
    🙂



  • fricky schrieb:

    GPC schrieb:

    Niemand sollte sich imo tiefer mit dem WinAPI beschäftigen

    wieso? wer spass dran hat, kann das doch tun.
    🙂

    Ich kann nur für mich sprechen, aber WinAPI steht in meinen Augen für vieles, aber nicht Spaß oder elegante Programmierung.

    sothis_ schrieb:

    GPC schrieb:

    Niemand sollte sich imo tiefer mit dem WinAPI beschäftigen, Anfänger schon gar nicht. In der Liste des von Th69 geposteten Links finden sich genug Alternativen. Ansonsten einfach mal GTK+ anschauen.

    also echt mal, diese ganze winapi-is-teh-suck,-nimm-ne-bibliothek philosophie ist imho genau für anfänger falsch.

    Na ja, ich behaupte mal ein Anfänger kommt mit diesem Moloch von WinAPI eher schlecht als recht zurande.

    würden alle mit diesem abstraktionsmist anfangen, hätten wir bald keine programmierer mehr, die sich um den ganzen lowlevel-kram kümmern 🙂

    hehe, ja. C ist schon viel zu High-Level, ne?



  • GPC schrieb:

    hehe, ja. C ist schon viel zu High-Level, ne?

    hat das irgendeiner explizit behauptet? 🙂

    edit: nur um das nochmal zu verdeutlichen, ich bezog mich mit abstraktionsmist nicht auf die abstraktion die einem eine sprache bieten kann (irgendwie seht ihr überall versteckte kritik über c++, oder? :P), sondern auf abstraktion durch zusätzlichen code überhalb der eigentlichen API die für benutzerprogramme gedacht ist. klar kann dies die arbeit beschleunigen und letzlich weniger code im eigentlichen projekt zum resultat haben. aber ich würde jemanden eher den weg von unten nach oben empfehlen, als umgekehrt.

    Schau nur mal an was mit der Xlib passiert ist. Seit GTK und Qt erfolgreich sind interessiert sich keiner mehr für die eigentliche API zur fensterprogrammierung auf X11 platformen. das resultat ist, dass es kaum noch tutorials oder beispielcode gibt. die referenzdokumentation ist das einzigst brauchbare, und die ist weissgott nicht zum erlernen der API geeignet. klar, ich benutze Qt und GTK wo's nur geht, allerdings habe ich mich am anfang intensiv mit der Xlib beschäftigt, welches in vielen bereichen vom vorteil ist, insbesondere wenn man sehr spezifische OpenGL anwendungen erstellen will, wo abstraktionen wie SDL oder gar die von Qt einfach ungeeignet sind. mit der winapi ist es da ganz ähnlich, zumindest empfinde ich das so. ein anfänger sollte imho wirklich unten (wenigstens bei der eigentlichen userland API) anfangen zu lernen und sich mit diesen konzepten vertraut machen, da sich diese auch in den nächsten jahrzehnten nicht so schnell ändern werden. 🙂



  • oh zitiert statt editiert 😞



  • Ich kann nur für mich sprechen, aber WinAPI steht in meinen Augen für vieles, aber nicht Spaß oder elegante Programmierung.

    Willkommen in der grausigen Realitaet 🙂

    Wir verwenden hier auch Frameworks, ned nur eines ...
    Momentan machen wir vieles mit der QT und ist auch nen echt tolles tool. Aber naturgemaes ist auch die ned 100% ausreichend, bzw gibt es immer Themen die ueber nen Framework nie abgehandelt werden koennen. Also muss man, IMHO viel zu oft, auf die plattformabhaengigen BS Api's eh runter ....
    Also eigentlich bei fast jedem ernstzunehemenden project wird man mit der Winapi konfrontiert werden ... wenn man unter windows proggt.

    Die Winapi zu kennen ist noch ned mal nen richtiger Nachteil, weil man begreift ab und an schneller warum framework funktionen grad so funktionieren und ned anders ... Damit isses echt kein Nachteil, wenn sich auch neulinge schon mal mit der winapi auseinandersetzen, lernen sie doch gleich bissi was ueber Bibliotheken/Apis und wie man Funktionen in C gestaltet 🙂 Falls sie sich nen kopf machen, warum ne winapi funktion grad diesen prototyp hat und ned anders.
    Man glaubt eh ned, wieviel eigentlich gute c++ entwickler mit dem Entwerfen einer c-schnittstelle ueberfordert sind, wenn sie es ploetzlich mal machen muessen. Und eigentlich geheoert das auch oder grad in der heutigen Zeit zu den elementaren Grundlagen ...

    und ist natuerlich ned windows spezifisch. als linux programmierer sollt man schon mit Posix auch was anfangen koennen ...

    Ciao ...



  • RHBaum schrieb:

    Man glaubt eh ned, wieviel eigentlich gute c++ entwickler mit dem Entwerfen einer c-schnittstelle ueberfordert sind, wenn sie es ploetzlich mal machen muessen.

    womöglich dachte linus t. sowas auch, als er schrieb:

    ...even if the choice of C were to do nothing but keep the C++ programmers out, that in itself would be a huge reason to use C

    🙂



  • sothis_ schrieb:

    GPC schrieb:

    hehe, ja. C ist schon viel zu High-Level, ne?

    hat das irgendeiner explizit behauptet? 🙂

    Nee, aber in C ist auch das meiste implizit 😉

    Du hast mit deinen Argumenten ja auch zu einem gewissen Teil Recht. Mein Ansatz war es eben halt immer, die Anfänger erst an etwas einfaches heranzuführen (ein gutes GUI-Toolkit) und ihnen dann zu zeigen, wie es hinter den Kulissen funktioniert und was die Grundlage ist. Das ist jetzt mehr oder weniger eine Philosophiefrage 😉

    RHBaum schrieb:

    wenn sich auch neulinge schon mal mit der winapi auseinandersetzen, lernen sie doch gleich bissi was ueber Bibliotheken/Apis und wie man Funktionen in C gestaltet 🙂

    Auch deinem Beitrag stimme ich größtenteils zu, aber den Satz kann ich nicht so stehenlassen 😃 Außer du wolltest sagen... "bei der WinAPI sieht man, wie man Funktionen NICHT gestaltet"... weil es imo vom Design + Coding her schon sehr viel eleganteres C gibt. An der WinAPI sollte sich nun wirklich keiner orientieren.



  • Was für die WinAPI spricht ist die gute und vollständige Dokumentation und die vielen Beispiele die google zu Tage fördert. Da kann GTK+ nicht man ansatzweise mithalten.


Anmelden zum Antworten