C++ Plattformübergreifend Programmieren

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

C++ Plattformübergreifend Programmieren

Beitrag von 125 »

Hi,
ich wollt mir nun mal C++ anschauen, aber hab schnell gemerkt das GUI programmierung immer sofort auf WinApi oder MFC herausläuft. Was mache ich aber wenn ich Plattformunabhängig sein will? Habe nun gesehen das es dafür GTK TK TCL QT etc. gibt, aber ich finde nirgends Tutorials... Habt ihr nen paar Tipps für mich? :)

mfg
125
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: C++ Plattformübergreifend Programmieren

Beitrag von DarkDragon »

125 hat geschrieben:Hi,
ich wollt mir nun mal C++ anschauen, aber hab schnell gemerkt das GUI programmierung immer sofort auf WinApi oder MFC herausläuft. Was mache ich aber wenn ich Plattformunabhängig sein will? Habe nun gesehen das es dafür GTK TK TCL QT etc. gibt, aber ich finde nirgends Tutorials... Habt ihr nen paar Tipps für mich? :)

mfg
125
Du musst halt dann Klassen/Funktionen erstellen, die sowohl WinAPI und GTK Befehle beinhalten. Du solltest dann nur darauf achten, dass du Compiler-Direktiven verwendest, sonst kommts zu Fehlern.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

es gibt eine tolle cross platform gui bibliothek für c++ namens wxwidgets (www.wxwidgets.org). damit sollte es kein problem sein. dokumentation gibt es ebenfalls auf der seite und tutorials gibt es auch ziemlich viele, sogar ein paar videos.
Benutzeravatar
PAMKKKKK
Beiträge: 321
Registriert: 21.04.2005 22:08
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von PAMKKKKK »

Ja Dev-C++ ist eine sehr gute und Teilweise in deutsch übersetzte MinGW IDE.
Ich empfehle dir mit wxWidgets zu Proggen. Eine komplette umgebung mit Dev-C++ wxWidgets und Visual-Designer (RAD) bekommst du hier:
http://wxdsgn.sourceforge.net/:allright: :allright: :allright:

In Dev-C++ ist ein C Grundkurs enthalten (Englisch)
Und für wxWidgets gibts darin auch ein geles TUT.

Dann kannst du "out of the Box" loslegen :allright:

Gute C++ Links sind hier:
http://www.heise.de/ct/tipsundtricks/cttt4.shtml#4_4

Mann muss da wirklich aufpassen!
Einen MinGW Compiler gibt es nicht!
MinGW ist ein set von Headerdateien *.h.
Der Compiler ist gcc (für C Code) und G++ (Für C++ Code)

Wenn du also Probleme mit dem Compiler hast schau unter:
http://gcc.gnu.org/

Unter Windows sieht das so aus:
1. Cygwin (als Unix simulation, wird mit Installiert)
2. gcc als Compiler
3. MinGW als universal Headerdateien

Deshalb ist unter MinGW alles Unixlastig...
Wir Schreiben ein PureBasic Buch.
Auch du kannst mitmachen!
http://www.purearea.net/pb/english/pure ... :Main_Page
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Ahh, THX all, das hat mir sehr geholfen, werd dann mal loslegen zu proggen morgen, habe sogar schon eine Idee was ich proggen werd :)

mfg
125
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
MARTIN
Beiträge: 454
Registriert: 08.09.2004 14:03
Wohnort: Kiel

Beitrag von MARTIN »

Ich wollte noch dazu sagen, neben wxWindows,GTK lohnt sich FLTK-Toolkit zu kennen. Dieser sticht durch besondere Einfachheit hervor, so auf dem Niveau von PB.
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
Benutzeravatar
PAMKKKKK
Beiträge: 321
Registriert: 21.04.2005 22:08
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von PAMKKKKK »

@MARTIN
Du hast das Professionellste System: QT4, Vergessen!
QT4 ist auch :allright:

Gute Tutorials sind:

* Volkards C++-Kurs: (Link: http://volkard.de/Cpp/Tutorial/Grundlagen/index.html)
* Shades C++-Kurs: (Link: http://tutorial.schornboeck.net/)
* Cpp-Tutor: (Link: http://www.cpp-tutor.de/cpp/)

Gute Bücher sind:


* C++ lernen und professionell anwenden von Peter und Ulla-Kirch Prinz (für leute die schon Proggen können)
* Effektiv C++ programmieren von Scott Meyers.
* Thinking in C++ von Bruce Eckels Englisch (kostenlos verfügbar unter http://mindview.net/Books/DownloadSites)
Wir Schreiben ein PureBasic Buch.
Auch du kannst mitmachen!
http://www.purearea.net/pb/english/pure ... :Main_Page
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

der haken an qt ist, dass wenn man seinen quellcode nicht veröffentlichen will, qt wirklich *pervers* teuer ist.
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

So, hab mir jetzt wxWidgets angeschaut gefällt mir sehr gut :)
Nun wollt ich was mit Netzwerk proggen, und scho läuft alles auf WinSocks hinaus, ist es wirklich so schwer plattformunabhängig C++ zu programmieren? Ich hab jetzt mal nach Netzwerk klassen gegoogled finde aber nichts :( habt ihr eine Idee?

//edit: hatte wohl die falschen suchbegriffe benutzt, hab was gefunden :)

Schonmal THX!

Mfg
125
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
Benutzeravatar
PAMKKKKK
Beiträge: 321
Registriert: 21.04.2005 22:08
Wohnort: Braunschweig
Kontaktdaten:

Beitrag von PAMKKKKK »

Schau mal hier (Netzwerktutorial):
http://cplus.kompf.de/artikel/httpget.html
Es gibt mittlerweile einige Programmierschnittstellen, die den Zugriff auf TCP/IP für ein C Programm erlauben. Die bekannteste ist die Socketschnittstelle, die unter Unix und Windows (als «Winsock»-API) zur Verfügung steht. Ihr großer Vorteil: Einmal richtig initialisiert, stellt sich eine Netzwerkverbindung für den Programmierer als ein Socket dar, welches Schreib- und Leseoperationen in der selben Art und Weise wie eine geöffnete Datei erlaubt.
Portabilität. Die Benutzung der Socket-API ist stark vom verwendeten Betriebssystem abhängig. In den Beispielprogrammen wurde das durch diverse #ifdef _WIN32 Makroanweisungen kaschiert, die bewirken, dass die Programme zumindest unter Windows und Linux laufen. Was aber, wenn sie zum Beispiel auf SGI IRIX oder QNX portiert werden sollen?
Zum Glück haben sich schon viele kluge Leute diese Gedanken gemacht und solche Entwurfsmuster für fast alle Bereiche der Softwareentwicklung realisiert. Beispielhaft sei an dieser Stelle das ADAPTIVE Communication Environment (ACE(TM)) erwähnt. Dieses frei verfügbare und als Open Source vorliegende Framework beinhaltet die meisten für einen Netzwerkserver notwendigen Komponenten, die bei der Lösung der oben genannten Anforderungen helfen können:
[EDIT] ein richtig gutes Tutorial zur winsock:
http://www.c-worker.ch/tuts.html :allright:
Wir Schreiben ein PureBasic Buch.
Auch du kannst mitmachen!
http://www.purearea.net/pb/english/pure ... :Main_Page
Antworten