PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Umstieg auf die WinApi


Gast
2005-11-24, 17:46:50
Hi, zur Vorgeschichte:
Ich benutze privat exklusiv GNU/Linux (Windows installiert, wird aber nur für 2 Spiele gebootet, d.h. wenns hoch kommt alle paar Monate mal), und habe viele C++ Programme mit GTK und QT GUIs geschrieben (das sind zwei Toolkits für GUIs).
Jetzt fange ich bald einen Job an, bei dem ich GNU/Linux Server Programme schreibe, und dazu Windows C++ Programme mit GUI (für Büros, Kanzleien etc.)

Mit welchen Compilern kann ich WinApi Programme schreiben? Ich benutze am liebsten den gcc (bzw. g++), und durch mingw gibt es den auch unter Windows.
Ich weiss allerdings nicht, ob ich damit diese ganzen WinApi Funktionen benutzen kann.
Am liebsten würde ich meine Programme unter GNU/Linux schreiben und mit Wine testen, aber ich weiss nicht, inwiefern das realistisch ist. Der letzte Compiler den ich benutzen will ist Micros~1 Visual C++, aber wenn es kein Drumrum gibt, werde ich mir das wohl antun.

Kennt jemand einen guten Einstieg/Umstieg Guide für GUI Programmierung unter Windows für erfahrene C++ und GUI Entwickler?

Chris Lux
2005-11-24, 17:54:48
wenn es nicht direkt die windows api sein muss kannst du doch ruhig Qt weiterbenutzen. das ist ja an sich systemunabhängig und somit einfach portierbar.

Gast
2005-11-24, 18:02:40
Joa, würde ich auch gerne, aber ich denke nicht, dass ich so viele Freiheiten bei der wahl meines Toolkits haben werde ... gehe davon aus, dass es winapi GUI's sein MÜSSEN ...

Ich hab grad was lustiges gefunden, xmingw zum cross compilen unter GNU/Linux. Hab gerade erfolgreich ein Hallo Welt Programm geschrieben.

Aber da ich auch da arbeiten muss bleibt die Frage: Kennt ihr Freie Programme, mit denen ich GUIs auch gestalten (schreiben dauert auf die Dauer vermutlich zu lange) kann? Also IDEs,aber wie gesagt wenn möglich nicht MSVC++, denn das möchte ich nicht kaufen, und würde es mir wenn auf anderem Wege besorgen müssen, wobei ich mich allerdings nicht sehr gut fühlen würde.

Trap
2005-11-24, 18:05:30
WinApi geht mit jedem C-Compiler. Auch mit MinGW.

Referenz gibt es in der MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winprog/winprog/functions_by_category.asp

Die WinApi ist nicht so schön wie QT, aber man kann sie benutzen. QT-Lizenz für Windows kostet übrigens etwa 1 Monatsgehalt ;)

Es kann allerdings auch passieren, dass du ein MFC-Programm weiterentwickeln sollst. Dann würde ich wieder gehen, soviel Schmerzensgeld kann mir niemand zahlen.

Windows.Forms aus .NET ist auch besser als WinApi direkt benutzen.

zeckensack
2005-11-24, 21:24:02
Evtl ist wxWidgets (http://www.wxwidgets.org/) das richtige für dich. Das ist im weitesten Sinne ebenfalls ein GUI-Toolkit, jedoch kein eigenständiges. Es setzt je nach Zielplattform dann auf zB GTK+ oder Win32 auf. Du sparst dir dadurch die Installation von GTK+ auf Windows-Systemen. wxWidgets selbst kannst du statisch linken.

Dafür gibt's dann auch diverse RAD-Tools (http://www.wxwidgets.org/lnk_tool.htm) und eine recht lebendige community. Das ganze ist OSS und kostenlos.

Chris Lux
2005-11-24, 21:36:14
Die WinApi ist nicht so schön wie QT, aber man kann sie benutzen. QT-Lizenz für Windows kostet übrigens etwa 1 Monatsgehalt ;)
sorry nein ;) Qt ist seit version 4 unter der GPL. aber selbst versionen davor sind frei zu bekommen (link (http://sourceforge.net/projects/qtwin/)). da gibt es die 3.3er version für windows vorcompiliert und einen patch für die 4er version, damit man es mit dem visual studio compilieren kann (von trolltech aus geht es erstmal nur mit mingw). es ist 100% legal, da es sich nur um source veränderungen handelt, die zu 100% der gpl entsprechen.

Trap
2005-11-24, 21:44:40
GPL bringt einem nichts wenn man sein Geld damit verdienen möchte, dass man Lizenzen für die Software verkauft. Davon gehe ich nach der Beschreibung aus.

MadMan2k
2005-11-24, 22:46:48
GPL bringt einem nichts wenn man sein Geld damit verdienen möchte, dass man Lizenzen für die Software verkauft. Davon gehe ich nach der Beschreibung aus.
GTK würde aber gehen, da es nur LGPL ist...

Kinman
2005-11-24, 22:57:59
Ich persönlich bin mit den Microsoft IDEs und Compilern höchst zufrieden (Geschw., Komfort, und Zuverlässigkeit stimmen) und um € 114.- bekommt man VC++ und um einen Euro mehr C# in der Standartausführung.
Wenn es kostenlos ginge wäre für Dich natürlich besser.

mfg Kinman

Trap
2005-11-24, 23:33:37
Kostenlos ist kein Problem: http://msdn.microsoft.com/vstudio/express/visualc/

Bevor jemand fragt: Ja, die damit erstellte Software darf man verkaufen.

1337Gast
2005-11-25, 17:43:58
Nicht falsch verstehen, ich bin euch allen für eure Hilfe dankbar.

Aber viele verstehen nicht so ganz, worum es mir geht.

Natürlich würde ich alles lieber verwenden, als die winapi, da ich sie absolut besoffen finde.

Aber erstmal will ich den Job. Ich werde sicherlich nicht im Vorstellungsgespräch hingehen, und dem Chef vorschlagen, er möge doch bitte ein anderes Toolkit für mich verwenden.
Ich weiss nichtmal genau, was die nehmen. Hab schon Screenshots von Anwendungen gesehen, und die sehen nach stink normalen (etwas altmodischen) Windows Programmen aus.

wxWidgets wäre wahrscheinlich der Vorschlag, den ich wenn die Zeit gekommen ist machen werde.

Aber bis dahin muss ich herausfinden und lernen, was der einfältige, engstirnige, schwarz und weiss sehende Microsoft SQL Server 2003 Desktop Edition installierende 08/15 Windows C++ Programmierer verwendet.

Das möchte ich einfach mal gemacht haben, um vorbereitet zu sein.
Und ich als absoluter und bekennender Windows Neuling tippe da einfach mal auf die WinApi, die ja allem zu Grunde liegt. Muss nur noch herausfinden, ob man das heutzutage überhaupt noch direkt schreibt, oder irgendwie anders.


Also, was verwenden Firmen, die seit 20 Jahren Standardsoftware für Büros und Kanzleien schreiben in C++ schreiben?

Zur Software: Meist Client/Server Applikationen, Client immer Windows, Server Windows oder GNU/Linux.

Wenn kein Weg an Visual C++ vorbeiführt, würde ich sogar das benutzen ... brauche einfach schnell nen Job, keinen idealen, aber ich will diesen, und bin bereit, dafür sogar diesen ganzen Mist zu lernen, den ich mein halbes Leben lang verflucht habe.
Dafür ist der Link im letzten Post verdammt nützlich, vielen Dank dir!

grakaman
2005-11-25, 18:41:11
Nicht falsch verstehen, ich bin euch allen für eure Hilfe dankbar.

Aber viele verstehen nicht so ganz, worum es mir geht.

Natürlich würde ich alles lieber verwenden, als die winapi, da ich sie absolut besoffen finde.

Aber erstmal will ich den Job. Ich werde sicherlich nicht im Vorstellungsgespräch hingehen, und dem Chef vorschlagen, er möge doch bitte ein anderes Toolkit für mich verwenden.
Ich weiss nichtmal genau, was die nehmen. Hab schon Screenshots von Anwendungen gesehen, und die sehen nach stink normalen (etwas altmodischen) Windows Programmen aus.

wxWidgets wäre wahrscheinlich der Vorschlag, den ich wenn die Zeit gekommen ist machen werde.

Aber bis dahin muss ich herausfinden und lernen, was der einfältige, engstirnige, schwarz und weiss sehende Microsoft SQL Server 2003 Desktop Edition installierende 08/15 Windows C++ Programmierer verwendet.

Das möchte ich einfach mal gemacht haben, um vorbereitet zu sein.
Und ich als absoluter und bekennender Windows Neuling tippe da einfach mal auf die WinApi, die ja allem zu Grunde liegt. Muss nur noch herausfinden, ob man das heutzutage überhaupt noch direkt schreibt, oder irgendwie anders.


Also, was verwenden Firmen, die seit 20 Jahren Standardsoftware für Büros und Kanzleien schreiben in C++ schreiben?

Zur Software: Meist Client/Server Applikationen, Client immer Windows, Server Windows oder GNU/Linux.

Wenn kein Weg an Visual C++ vorbeiführt, würde ich sogar das benutzen ... brauche einfach schnell nen Job, keinen idealen, aber ich will diesen, und bin bereit, dafür sogar diesen ganzen Mist zu lernen, den ich mein halbes Leben lang verflucht habe.
Dafür ist der Link im letzten Post verdammt nützlich, vielen Dank dir!

Bei solchen Tönen fällt es schwer noch hilfsbereit zu sein :rolleyes:

Trap
2005-11-25, 18:47:06
Natürlich würde ich alles lieber verwenden, als die winapi, da ich sie absolut besoffen finde.
Du kennst MFC (Microsoft Foundation Classes) nicht.
Muss nur noch herausfinden, ob man das heutzutage überhaupt noch direkt schreibt, oder irgendwie anders.

Also, was verwenden Firmen, die seit 20 Jahren Standardsoftware für Büros und Kanzleien schreiben in C++ schreiben?
Wenn du Glück hast WinApi, sonst etwas selbstgeschriebenes oder MFC.

Modern ist Windows.Forms aus dem .NET Framework, das ist sogar ganz brauchbar. Microsoft benutzt übrigens für die eigenen Anwendungen (Office und co.) sehr viel selbstgeschriebenes Zeug und kaum fertige Widgets aus der WinApi.

Coda
2005-11-25, 19:15:50
"Umstieg auf die WinAPI" klingt irgendwie nach Masochismus.

Die meisten verwenden sogar eher die MFC als Win32. Ich weiß allerdings auch nicht was schlimmer ist.

Demirug
2005-11-25, 19:40:24
Reines Win32 ist definitive schlimmer als die MFC.

Aber eigentlich will ich beides nicht benutzen.

Trap, auch Winforms ist nicht modern da es auch nur ein Layer über die Win32 Window Funktionen darstellt.

Modern ist WPF.

Asmodeus
2005-11-28, 16:42:14
Für den Unterbau meines Programmes nutze ich auch direkt die WinApi. Die Dimension dessen ist jedoch sehr überschaubar und die "GUI" beschränkt sich bei mir auf gerade mal einige wenige Dialoge und Fenster. Und ich kann nur sagen, selbst das ist schon alles andere als schön. Ich kann da auch nur jedem von abraten. Ich will dem Threadstarter auch nicht den Mut nehmen und weiß ja auch nicht in welchem Umfang er sich in die WinApi bei seinem neuen Job einarbeiten müsste, aber so nebenbei ist das nicht getan. Ich denke, das kostet einiges an Zeit bevor man da wirklich schnell und produktiv arbeiten kann.

Gruss, Carsten.