PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ unter Linux


/me
2003-10-05, 12:38:23
Hallo,

ich habe bis jetzt wenig Programmiererfahrungen (ein Anfängerbuch über C++-Konsolenprogrammierung durchgemacht). Das war aber auch schon über ein Jahr her und gestern habe ich mal kurz ein ganz kleines Programm geschrieben. (Wegen
diesem Thread (http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&threadid=98117&perpage=20&pagenumber=1))
Ich arbeite seit neuestem unter Linux und habe dazu einfach mal schnell ein Konsolenprogramm mit KDevelop gemacht.

Jetzt will ich wieder anfangen und deshalb meine Fragen an euch:

1.: mit welchem Tool sollte ich programmieren? KDevelop?

2.: Ich will jetzt auch grafische Sachen entwickeln. Was gibt es da für Möglichkeiten? (und wie sieht es da mit der Portierbarkeit auf Win aus?)

3.: Wo kann ich das lernen? Es gibt ja massenhaft Bücher über Win-GUI-Programmierung aber über Linux?

4.: Habt ihr noch gute Übungsaufgaben für mich?

thx,
/me

Gast
2003-10-05, 17:23:27
zu 1: Viele programmieren mit Emacs oder VI ;D Ich bin eigentlich mehr der Emacsfanatiker. Alles andere ist überflüssiger Luxus *gg* Dann holst du dir einen Compiler. Da stehen zur Auswahl dann gcc und icc. Wobei du mit icc keine kommerzielle Software machen darfst mit der kostenlosen Version. Dafür ists ein sehr schneller Compiler (im Sinne von der Laufzeit der Programme).

zu 2: Was meinst du mit grafischen Sachen? 3D? Dann musst du einfach OpenGL benutzen. GLUT stellt dir auch plattformübergreifend Funktionen zur Verfügung zum Initalisieren usw

zu 3 und 4: Linux ist halt OpenSource und es gibt alles im Netz ( www.google.de - Der Retter in der Not ;) )
Ansonsten FAQ mal lesen oder http://www.forum-3dcenter.org/vbulletin/showthread.php?threadid=94396

/me
2003-10-05, 17:42:21
Original geschrieben von Gast
zu 1: Viele programmieren mit Emacs oder VI ;D Ich bin eigentlich mehr der Emacsfanatiker. Alles andere ist überflüssiger Luxus *gg* Dann holst du dir einen Compiler. Da stehen zur Auswahl dann gcc und icc. Wobei du mit icc keine kommerzielle Software machen darfst mit der kostenlosen Version. Dafür ists ein sehr schneller Compiler (im Sinne von der Laufzeit der Programme).


Ich meinte eher etwas kompfortableres ;)

Original geschrieben von Gast
zu 2: Was meinst du mit grafischen Sachen? 3D? Dann musst du einfach OpenGL benutzen. GLUT stellt dir auch plattformübergreifend Funktionen zur Verfügung zum Initalisieren usw


Mit grafischen Sachen meine ich alles, das über Konsolenprogrammierung hinausgeht...

Also Programme mit GUI... (Ja, sowas gibts :o)

/me

zeckensack
2003-10-05, 18:12:59
Original geschrieben von /me
Mit grafischen Sachen meine ich alles, das über Konsolenprogrammierung hinausgeht...

Also Programme mit GUI... (Ja, sowas gibts :o)

/me Bin kein Expechte in Sachen Linux GUI, deswegen fallen mir auch nur ein paar Schlagworte ein, mit denen du Google füttern kannst :)

gnome
kde
wxwindows
gtk

Optional +programming

Gast
2003-10-05, 18:20:12
1:

Ich benutze anjuta, wobei kdevelop auch nicht schlecht ist.

2+3:

Bei kdevelop ist meine ich sogar ein Tutorial in der Hilfe,
wo die Grundlagen von QT drin sind.

Du hast mehrere Möglichkeiten, was du als Toolkit nutzen kannst. z.b.: GTK, QT, FLTK, wxWindows etc.
Normalerweise reicht es aus mit google ein bisschen zu suchen und man hat ein Tutorial oder ähnliches.
Einige Toolkits gibt es sowohl unter Linux als auch unter Windows. (z.b. wxWindows)

Ich hoffe mal ich hab nicht allzu viel falsches gesagt :D

cu DerTod

/me
2003-10-05, 18:30:52
ich weiß halt jetzt nicht, was ich dann benutzen soll(für GUI-Sachen).

Was ist denn Standard (oder wenigstens weit verbreitet)?

Was ist das denn überhaupt, wenn ich bei kdevelop "KDE Normal" etc. auswähle?

Und was sind die Vor/Nachteile bei GTK?

Was ist am einfachsten und für einen absoluten Anfänger am ehesten zu empfehlen?

/me

peecee
2003-10-05, 19:19:22
Original geschrieben von /me
ich weiß halt jetzt nicht, was ich dann benutzen soll(für GUI-Sachen).

Was ist denn Standard (oder wenigstens weit verbreitet)?

Was ist das denn überhaupt, wenn ich bei kdevelop "KDE Normal" etc. auswähle?

Und was sind die Vor/Nachteile bei GTK?

Was ist am einfachsten und für einen absoluten Anfänger am ehesten zu empfehlen?

/me

Ich kann dir sagen das der GNOME Desktop mit GTK geschrieben worden ist und KDE mit QT. Von QT gibts auch ne Windows Version, GTK weiss ich nicht. GTK Anwendungen fügen sich besser in den GNOME Desktop ein. Das selbe gilt für QT und KDE. GTK Anwendungen laufen aber auch unter KDE, umgekehrt gilt das auch. Soweit ich weiss ist QT/KDE in C++ und GNOME/GTK in C geschrieben. Kommt auch ein bisschen drauf an was du für eine Sprache verwendest.
die Option "KDE Normal" ist mit QT als Toolkit.

mfg

/me
2003-10-05, 19:42:21
also GTK gibt es auch für Windows (Gaim, GIMP)

aber ich glaube, ich werde mich erstmal mit QT versuchen

thx

jetzt suche ich nur noch Übungsaufgaben...

/me

Gast
2003-10-05, 20:02:58
Was verstehst du unter Übungsaufgaben?
Ich könnte nen Bildbetrachter für HDR´s unter Linux gebrauchen.
Müsste eigentlich nur darstellen und rein/rauszoomen können.
Das ximage von Radiance geht mir langsam auf die E... ;)
Wenn dir das zuwenig ist kannst du auch einen grösseren Funktionsumfang einbauen :P


Falls jm noch ein anderes existierendes Programm dafür weiss, kann er sich türlich auch melden :D

wrdaniel
2003-10-05, 20:33:06
wie waere es mit http://eclipse.org/ als IDE? gibt fuer recht viele Programmiersprachen Plugins.

Dee
2003-10-06, 00:51:35
@me: Wenn Du ein gutes Buch brauchst, dann kann ich "KDE- und QT-Programmierung" von B. Lehner empfehlen. Ist leider schon etwas älter, aber für den Einsteig gut zu gebrauchen! Ansonsten mache bei QT ausführlich Gebauch von der Trolltech-Dokumentation. Diese ist sehr gut, muß ich sagen! Umfangreich, selbst erklärend und hilfreich. *g*

Habe vor ca. 8 Wochen angefangen mit QT-Programmierung und es ist wirklich recht einfach zu lernen...

Gruß, Dee

Vedek Bareil
2003-10-08, 00:38:51
Original geschrieben von Gast
zu 1: Viele programmieren mit Emacs oder VI ;D Ich bin eigentlich mehr der Emacsfanatiker. also ich kann ja beim besten Willen nicht verstehen, wie jemand was an Emacs finden kann :kratz:.
Das GUI-Design ist absolut anachronistisch (so etwa Niveau von Windows <3.0), der Datei öffnen-Dialog ist total Schrott (so man den überhaupt als Dialog bezeichnen kann), der Hervorhebungsmodus arbeitet nur mit unterschiedlichen Farben (deren Palette zudem sehr begrenzt ist), nix mit Fettschrift für Schlüsselwörter oder Kursivschrift, und schließlich die Tastatur-Shortcuts: Jedes andere Textverarbeitungs-/Editor-Programm auf der Welt verwendet die Kombinationen Strg+s für Datei speichern, Strg+c für Kopieren, Strg+x für Ausschneiden, und Strg+v für Einfügen, ein gängiger Standard sozusagen. Aber Emacs muß es natürlich vollkommen anders machen: Datei speichern geht mit erst Strg+x drücken und dann noch was anderes mit Strg drücken, weiß grad gar nicht mehr was, und wie die anderen Operationen gehen hab ich noch nicht rausgefunden.

Ich ziehe zum Verfassen von Quellcode dann doch lieber KWrite vor, das hat:
- ein modernes auf KDE aufbauendes GUI-Design
- Standard-Tastenkombinationen
- einen brauchbaren Datei öffnen-Dialag
- einen für gute Übersichtlichkeit sorgenden Hervorhebungsmodus
- eine Anzeige, welche öffnende Klammer zu welcher schließenden gehört

Nagilum
2003-10-08, 00:59:23
Ich kann nur für XEmacs sprechen:

Das dürfte so ziemlich der kompletteste Editor sein, den ich kenne. Da funktioniert auch Syntax-Highlighting mit Fett- und Kursivschrift, und Dateien öffnet man bequem über die Eingabezeile im XEmacs. Das geht mit Tab-Erweiterungen wesentlich flotter, als mit nem extra Dialogfenster (hats natürlich auch, wenn mans will).

Klammersetzung macht er auch automatisch, Klammerhervorhebung natürlich auch (in verschiedenen Modi sogar). Wenn dir die Tastatur-Shortcuts nicht gefallen, dann stell sie doch um? Compilermeldungen fängt er ab, so dass man automatisch an die entsprechende Codezeile kommt usw.

Es gibt echt nix, was das Ding nicht kann. Tetris kann man damitspielen, nen eingebauten Psychologen hats auch, IRCen kann man, News und Mails lesen, surfen. Ja sogar Kaffee kochen kann das Ding. Mit ner speziellen Schnittstelle. :)

In diesem Sinne: M-X all-hail-xemacs [RET]

Tom Servo
2003-10-08, 16:35:25
Ich benutze den FSF Emacs.

Die GUI stammt ja auch noch aus der alten Zeit und benutzt X/Xt und nicht sowas wie GTK oder Qt. Allerdings sind die Lisp-Packages das wirklich wichtige an Emacs und da es bereits X-Emacs gibt besteht da wohl auch kein allzugrosser Bedarf für eine schicke GUI mit Icons und auch sonst bietet X-Emacs wohl einiges mehr (z.B. Bilder im Text).

Öffnen der Dateien geht mit Dired (C-x d) oder Drag'n'Drop. Zum System passende Dateirequester in portablen Programmen sind ein Problem. Und im Textmodus müsste man sich sowieso umgewöhnen. Ich henutze Emacs jetzt schon auf dem vierten OS in Folge, da er eben überall funktioniert (sogar über TTY). Bei der Amiga Version hatte ich noch einen AmigaOS Dateirequester reingebaut aber wirklich nötig war der auch nicht.

Fettdruck beim Syntaxhighlighting muss man selber einstellen wenn man es möchte. Defaultmässig ist es eben nicht so. Schau dir mal z.B. das hier an: http://mail.gnu.org/archive/html/help-gnu-emacs/2003-05/msg01111.html
Damit bekommst du u.a. Fettdruck-Faces im Dired für Ordner und im C- und C++-Mode bei Funktionsnamen.

Das mit den farbigen Klammern funktioniert auch schon "immer". Habe das schon seinerzeit auf dem Amiga unter FSF Emacs genutzt (M-x apropos paren). Man kann auch dieses vi-Feature einschalten, dass mit % der Cursor zur anderen Klammer springt, was manchmal aber auch stört.

Wem die Tastenbelegung nicht gefällt kann ja mal M-x viper probieren. Oder man versucht irgendeine andere Tastaturbelegung irgendwo zu finden und kopiert die in die eigenen ~/.emacs.el.

Emacs ist nicht nur 1000x leistungsfähiger als KWrite, sondern viele Leute würden wohl lieber auf den kompletten KDE verzichten als auf Emacs. Ohne den NT Emacs wäre Windows für mich jedenfalls nur schwer erträglich.

Die hier genannten Features sind auch ziemliche Nebensächlichkeiten. Wichtiger fürs Programmieren ist ob Ediff, Shell, Gdb, RCS/CVS, Etags, ... ordentlich funktionieren. Syntax-Highlighting ist zwar auch sehr wichtig, aber ob nun fett oder nicht hat mich bisher noch nie gestört.


edit: Man kann die Faces auch interaktiv mit customize konfigurieren und dort noch viele andere Sachen (unterstreichen, überstreichen, einrahmen, ...) einstellen. Für Fettdruck kann man im Weight Menü Sachen wie "bold" "extrabold" "semibold" auswählen. (M-x list-faces-display)