Linux C Programmierung Einstieg

Grisu

Mitglied
Hallo.
Folgendes:
Was würdet ihr mir empfehlen, wie ich mich in Linux Programmierung in C "einarbeiten" kann. Gibts irgendwelche besonders guten Bücher, Tuts etc.????
Thx Grisu
 
Was willst du programmieren?

GUI Applikationen?
dann GTK oder Qt? oder auch CLX

System Applicationen?

Linux ist etwas komplexer in dem bereich als Windows.

Also KDE Programme / Gnome ?
musst dich schon entscheiden und nochmal fragen :)x
 
wenn du mit c anfangen willst, dann sollte ein einsteigerbuch eigentlich reichen. du musst ja nicht gleich grafische oberflächen für kde programmieren, auf der konsole ist das teilweise schon komplex genug.
die meisten guten bücher über c-programmierung gehen auch detailliert auf linux ein. c ist ja schliesslich in einer unix-umgebung entstanden und linux ist (fast) komplett in c geschrieben.
also gehören c und linux genauso zusammen, wie windows und bluescreens (blöder vergleich, ich weiss ;)). zu dem thema sollte man wirklich ausreichend informationen finden.
 
Hallo!

Ich will mich nun auch daran machen C++Programme auf Linux zu entwickkeln. Da ich mich mit wxPython schon einmal in eine Sackgasse manövriert habe, möcht ich diesmal vorher die dämlichen Fragen stellen die ich beim letzten Mal nicht gestellt habe - und es bereut habe:

1.) GTK und QT sind riesig, mit immens vielen Abhängigkeiten - ich nehme an, das das notwendig ist um Windows ähnliche grafische Oberflächen zu schaffen, dennoch: gibt es schlankere Alternativen, die den beiden Giganten KDE und GNOME das Wasser reichen können (ich meine nicht tkinter - das sieht furchtbar aus :) )? Ich hätte gerne das das auf jedem Linux mit X läuft und nicht an KDE oder Gnome gebunden ist, es zahlt sich zum Beispiel aus meiner Sicht für jemanden der erpichter KDE verfechter ist und alle Gnome-Komponenten entfernt hat nicht aus für ein 5MB Programm von mir, die ganze GTK Umgebung zu installieren.

2.) Ich will natürlich das jemand der mein Programm verwendet dann so wenig wie möglich dazuinstalieren muss, wenn ich denke wieviele Möglichkeiten es schon unter Python gibt um GTK widgets zu verwenden, hoffe ich, jemand kann mir hier sagen was die großen Distros alle möglichst gemeinsam, drauf haben, das ihre C++ Apps mit GTK laufen, denn GTK werd ich nehmen wenn ihr mir keine Alternative nennen könnt.
Zusatzfrage:
gtkmm <-- das krieg ich bei google als erstes Suchergebnis, haben aber weder debian noch mandriva standardmäßig drauf. Womit sprech ich unter C++ also GTK an? Wäre as mit C simpler?

3.) Natürlich bitte ich um Verweise zu Tutorien, howtos, wikis - ich hoffe da sehr auf etwas auf Deutsch, damit bin ich schneller, aber sonst Englisch muss halt oft sein in dem Gebiet, ich weiß. Womöglich gibts da schon Leitfäden für Einstieger und so, wenn man googelt landet man bei so vielen verschiedenen Varianten - schon bei Python - und C++ ist wie ich das sehe immens größer, ich erwarte da noch mehr sackgassen daher dieser komische Post^^.

mfg
 
Also wenn ich deine Beschreibung und Anforderungen so höre, klingt das ziemlich nach dem FOX Toolkit oder FLTK.

Sieht beides einigermaßen gut aus, ist schlank, man kann Programme damit ohne weitere Probleme statisch kompilieren (soweit ich weiß) so das der Endbenutzer nichts mehr extra installieren muss und es läuft nicht nur unter Linux sondern auch auf zig anderen Plattformen, darunter auch MS Windows.

Zu C++ mit GTK+. Da würd ich dir dann doch gtkmm empfehlen, das ist eigentlich ziemlich gut obwohl ich mit den letzten Versionen noch nicht gearbeitet habe. Alternativ könntest du auch Xfce oder VDK verwenden. Zu VDK gibt's übrigens auch noch eine Entwicklungsumgebung a la Borland Delphi die sich VDKBuilder nennt.

Ansonsten wäre es auch ohne weiteres möglich GTK+ direkt mit C++ zu verwenden, also ohne zusätzlichen Wrapper.
 
Dann hoffe ich du kannst mir bei dieser Fehlermeldung weiterhelfen, denn wenn nicht explizit da steht was nicht funktioniert, fang ich damit nichts an: (Endresultat von make), bei configure hat er auch ein paar Warnungen angezeigt das er irgendwelche .h dateien von X zwar findet aber nciht kompilieren kann, was ich sehr merkwürdig finde weil die Distro (Mandrake 10.2) mit X keine Probleme hat.

Code:
FXGLCone.cpp: In member function `virtual void FX::FXGLCone::drawshape(FX::FXGLViewer*)':
FXGLCone.cpp:111: error: `GLUquadric' undeclared (first use this function)
FXGLCone.cpp:111: error: (Each undeclared identifier is reported only once for each function it appears in.)
FXGLCone.cpp:111: error: `quad' undeclared (first use this function)
FXGLCone.cpp:111: error: `gluNewQuadric' undeclared (first use this function)
FXGLCone.cpp:112: error: `GLU_FILL' undeclared (first use this function)
FXGLCone.cpp:112: error: `gluQuadricDrawStyle' undeclared (first use this function)
FXGLCone.cpp:119: error: `gluCylinder' undeclared (first use this function)
FXGLCone.cpp:120: error: `GLU_INSIDE' undeclared (first use this function)
FXGLCone.cpp:120: error: `gluQuadricOrientation' undeclared (first use this function)
FXGLCone.cpp:121: error: `gluDisk' undeclared (first use this function)
FXGLCone.cpp:122: error: `gluDeleteQuadric' undeclared (first use this function)
make[1]: *** [FXGLCone.lo] Fehler 1
make[1]: Leaving directory `/home/easterdom/Desktop/fox-1.5.4/src'
make: *** [all-recursive] Fehler 1
 
Öhm..ich kann mich ja irren...aber fehlen dir zufällig die openGL-Bibliotheken?
Ich code eigentlich nur unter MS-Systemen. Aber der scheint ja ausschliesslich nur an den GL-Funktionen was zu meckern zu haben.
Eine weitere gute, zukunftsorientierte Lösung für deine Fragestellung ist ganz sicher das Mono-Projekt.
Das bietet dir die ganzen libraries um .NET-Basierten code zu schreiben und dazu kommt noch das TAO-Framework, über das du schicke managed OpenGL-Anwendungen schreiben kannst. Hab vor kurzem versucht mir mono auf mein Debian-System zu installieren - aber leider keine schicke IDE gefunden bzw. das im Paket enthaltene monodevelop zu starten.
Weiss nicht ob das was für dich ist...besonders im Hinblick auf C/C++.
 
Zurück