Automatisieren der Shell C/C++

P

pinguin123

Mitglied
Hi

habe eine warscheinlich einfache Frage. Wenn ich eine graphische Oberfläche zu einem Programm bauen will was normalerweise nur auf der Shell läuft, wie würde man das am besten anstellen. Wie heißt die API Funktion in Linux um Commandos in C/C++ auf der Schell auszuführen? Wo kann man solche Befehle nachschlagen. Bin neu in Linux und kenne mich leider gar nicht aus. Benutze Debian mit Kdevelop

Vielen Dank

Pinguin123
 
Also zum GUI Bauen solltest du GTK (gtkmm für c++) oder QT lernen:
http://www.gtk.org
http://www.trolltech.org

Für beide gibt es einen Application Designer:
Glade für GTK
und bei QT habe ich den namen grade nicht mehr im Kopf, der sollte aber schon irgendwo bei KDevelop dabei sein.

System Commands im allgemeinen führst du in C mit system() aus (man system in der Konsole eingeben hilft weiter).
Eventuell ist es einfacher dein Programm in Python, Perl oder (wenn es besonders schnell gehen soll und du dich nicht lange mit einer Api rumplagen willst) Gambas zu schreiben.
Auch Kylix kann eine Alternative sein (meiner persönlichen Meinung nach aber keine tolle).
 
Besonders GTK bindings gibt es fuer fast 30 Sprachen, so gtk-perl, und PyGTK fuer python; eine komplette Liste gibt es hier:
http://www.gtk.org/bindings.html

qt ist da eher beschraenkt (ich zaehle sechs):
http://developer.kde.org/language-bindings/

C *kann* man in bash ausfuehren, indem man es in doppelte Klammern schliesst - der Funktionsumfang ist aber afaik sehr beschraenkt (nur Variablenhandling?)

HTH,

Samsara
.
 
Wo Vielen Dank schonmal werde mir das anschauen. QT habe ich schon mit Kdevelop installiert hoffe das geht mit GTK auch. QT ist aber kostenplichtig oder?
Zu meinem zweiten Problem eigentlich wollte ich nicht C in bash aufrufen sondern bash in C. Also um es einfacher Auszudrücken Programme "steuern". Wie kann von einem C Programm aus Befehle in die Shell eingeben und diese dann auswerten.

Schöne Grüße

pinguin
 
Hi,

qt ist dann kostenpflichtig, wenn Du das Programm, das Du selber entwickelst, wiederum auch verkaufen willst. Entwickelst Du nur fuer Dich oder veroeffentlichst oder GPL (oder vielleicht sogar LGPL), dann kostet qt nichts.

Neben dem C-Befehl 'system()' gibt es auch 'popen' (man popen), mit dem Du die Ausgabe, die das konsolen-programm auswirft, auffangen kannst.
 
Hi

danke nochmal werde das dann mal versuche. Habe auch schon mal von Pipes gehöhrt mit denen Anwendungen miteinander reden können. Klappt das auch mit der Schnell.

Schöne Grüße

pinguin
 
pinguin123 schrieb:
Wo Vielen Dank schonmal werde mir das anschauen. QT habe ich schon mit Kdevelop installiert hoffe das geht mit GTK auch. QT ist aber kostenplichtig oder?
Zu meinem zweiten Problem eigentlich wollte ich nicht C in bash aufrufen sondern bash in C. Also um es einfacher Auszudrücken Programme "steuern". Wie kann von einem C Programm aus Befehle in die Shell eingeben und diese dann auswerten.

Schöne Grüße

pinguin
Bin zwar kein "C"-Programmierer, kann mich aber erinnern, das ein kolege vor ein paar Jahren ein Updateprogramm für das Uralte RedHat-6.2 geschrieben hat, in dem auch nur Shell-Kommandos aufgerufen wurde. Den Quellcode hab ich mal durch Zufall in die Hände bekommen. Wenn ich mich recht erinnere wird das mit "system" gemacht. (Funktion oder Befehl nennt man das wohl... keine Ahnung, jedenfalls sowas wie "printf")

Vor 14 Jahren hab ich mir das Buch "Programmieren in C" vom "rororor"-Verlag geholt, da stand das auch schon drin wie man sowas macht! Das Buch war eine Gniale Einführung in C! Wobei ich als Anfängersprache Pascal vorziehen würde.... man kann dort einfach nicht soviel falsch machen!

Ich hoffe ich konnte Dir helfen. :D
 
Zuletzt bearbeitet:

Ähnliche Themen

[HowTo] TeamSpeak 2 - RC2 - Server (Deutsch/Englisch)

Samba als PDC [Short-HOWTO]

Zurück
Oben