C-Newbie Frage
-
- Beiträge: 37
- Registriert: 24.02.2003 17:48:35
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Berlin
-
Kontaktdaten:
C-Newbie Frage
Hallo Forum,
nachdem ich nun seit geraumer Zeit BASH- und Perl-Scripte fuer diverse Verwaltungsaufgaben geschrieben habe, moechte ich nun, teils fuer zeitkritische Aufgaben, teils um meinen Programmierhorizont zu erweitern, ein paar Dinge in C(++) versuchen.
Leider hoehren alle Buecher, Online-Dokumentationen, etc, meistens da auf, wo es anfaengt spannend zu werden, naemlich bei der praktischen Umsetzung. Ich habe, so glaube ich, Klassen, Ueberladung, etc pp, so halbwegs (zumindest theoretisch) verstanden, aber wie kann ich die Dinge loesen, die in BASH einfach per Aufruf des Kommandos (tar,echo,cp,....) erfolgen. Ich denke dies kann man direkt per Aufruf einer glib.* Funktion erreichen, aber wo bekomme ich die Information ueber den Aufruf, bzw. Namen der Funktion, und gibt es dafuer Beispiele?
Sorry fuer die Newbie-Frage, aber vielleicht habt Ihr ja auch einmal an diesem Punkt gestanden, und habt einen Hinweis oder Link zu dem Thema. Ich freue mich auch ueber einen Buchhinweis, ich bin, meineserachtens, sowieso der beste Kunde von o'Reilly, wenn ich meinen Buecherschrank so anschaue.
ts_berlin
PS: Ich bin kein studierter Informatiker, be gentle!
nachdem ich nun seit geraumer Zeit BASH- und Perl-Scripte fuer diverse Verwaltungsaufgaben geschrieben habe, moechte ich nun, teils fuer zeitkritische Aufgaben, teils um meinen Programmierhorizont zu erweitern, ein paar Dinge in C(++) versuchen.
Leider hoehren alle Buecher, Online-Dokumentationen, etc, meistens da auf, wo es anfaengt spannend zu werden, naemlich bei der praktischen Umsetzung. Ich habe, so glaube ich, Klassen, Ueberladung, etc pp, so halbwegs (zumindest theoretisch) verstanden, aber wie kann ich die Dinge loesen, die in BASH einfach per Aufruf des Kommandos (tar,echo,cp,....) erfolgen. Ich denke dies kann man direkt per Aufruf einer glib.* Funktion erreichen, aber wo bekomme ich die Information ueber den Aufruf, bzw. Namen der Funktion, und gibt es dafuer Beispiele?
Sorry fuer die Newbie-Frage, aber vielleicht habt Ihr ja auch einmal an diesem Punkt gestanden, und habt einen Hinweis oder Link zu dem Thema. Ich freue mich auch ueber einen Buchhinweis, ich bin, meineserachtens, sowieso der beste Kunde von o'Reilly, wenn ich meinen Buecherschrank so anschaue.
ts_berlin
PS: Ich bin kein studierter Informatiker, be gentle!
Ich bin auch kein studierte Informatiker. Ich bin Autodidakt.Es gibt da ein ganz ganz tolles Werkzeug. Ich verrats dir es nennt sich Suchmaschine. Die Suchmaschine die behauptet die Beste zu sein nennt sich Google. Ich habe mich mit Ihr angefreundet und sie ist meistens auch recht willig. Nach kurzem Suchen mit den Begriffen "libc tutorial exec fork" Komme ich auf
http://yolinux.com/TUTORIALS/ForkExecProcesses.html
Da dir jetzt schon die meisten Anleitungen und Bücher zu einfach sind schlage ich dir vor in die Quellcodes bestimmter Programme zu schauen die ungefähr das machen was du auch machen willst. Sowas ist unglaublich inspirierend.
http://yolinux.com/TUTORIALS/ForkExecProcesses.html
Da dir jetzt schon die meisten Anleitungen und Bücher zu einfach sind schlage ich dir vor in die Quellcodes bestimmter Programme zu schauen die ungefähr das machen was du auch machen willst. Sowas ist unglaublich inspirierend.
Ach ja, und nix schrotten.
Ich habe einen schlechten Stil, ich weiss, Danke, wurde mir bereits gesagt.
Ich habe einen schlechten Stil, ich weiss, Danke, wurde mir bereits gesagt.
Re: C-Newbie Frage
Also wie du "echo" implementierst, wirst du ja wahrscheinlich nach dem ersten "Hello Word" Programm wissen. Die Programme "tar" und "cp" sind eigenständige Programme und nicht Teil der Bash. Du kannst diese aber von C/C++ z.B. über die "system" Funktion sehr leicht aufrufen.ts_berlin hat geschrieben: Ich habe, so glaube ich, Klassen, Ueberladung, etc pp, so halbwegs (zumindest theoretisch) verstanden, aber wie kann ich die Dinge loesen, die in BASH einfach per Aufruf des Kommandos (tar,echo,cp,....) erfolgen.
Im Normalfall macht man sich aber zuerst einmal auf die Suche nach geeigneten Libraries und verwendet dann diese, z.B "libtar" anstatt "tar"
Gruß
gms
Re: C-Newbie Frage
Nein, kannst du in der Regel nicht. Dafür ist ja bashskripting da, um Sachen zu vereinfachen. Es gibt natürlich bestimmt Libraries, die tar-Funktionalität bieten, aber die gehören nicht zum C++ Standard.ts_berlin hat geschrieben:aber wie kann ich die Dinge loesen, die in BASH einfach per Aufruf des Kommandos (tar,echo,cp,....) erfolgen. Ich denke dies kann man direkt per Aufruf einer glib.* Funktion erreichen
Wenn du C++ programmierst, hast du in der Regel völlig andere Anforderungen als wenn du ein Bashskript schreibst. Und genauso, wie du in Bash keinen Renderer schreiben würdest, würdest du in C++ kein bashskript nachprogrammieren.
Da dir jetzt schon die meisten Anleitungen und Bücher zu einfach sind schlage ich dir vor in die Quellcodes bestimmter Programme zu schauen
Code: Alles auswählen
apt-get source coreutils
bunzip2 coreutils-5.2.1.tar.bz2
tar xvf coreutils-5.2.1.tar
hier false.c mal zum anschauen: http://nopaste.debianforum.de/2561
-
- Beiträge: 37
- Registriert: 24.02.2003 17:48:35
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Berlin
-
Kontaktdaten:
Hallo Forum,
danke erstmal an alle die sich der Frage angenommen haben.
Mir ist durchaus bewusst, dass C-Programmierung sehr komplex ist, und nicht nur Bash-Skripting mit anderen (Befehls-)Worten ist. Allerdings wollte ich das Forum nutzen (INIT 0:ich kenne google, danke!) um Eure Erfahrungen zu hoehren, ich denke dafuer ist es auch da.
NIL, danke fuer den Startpunkt, ich beschaeftige im Augenblick mit LinuxFromScratch, da kann ich sicher in das eine oder andere Package schauen, und (vielleicht) etwas verstehen.
ts_berlin
danke erstmal an alle die sich der Frage angenommen haben.
Mir ist durchaus bewusst, dass C-Programmierung sehr komplex ist, und nicht nur Bash-Skripting mit anderen (Befehls-)Worten ist. Allerdings wollte ich das Forum nutzen (INIT 0:ich kenne google, danke!) um Eure Erfahrungen zu hoehren, ich denke dafuer ist es auch da.
NIL, danke fuer den Startpunkt, ich beschaeftige im Augenblick mit LinuxFromScratch, da kann ich sicher in das eine oder andere Package schauen, und (vielleicht) etwas verstehen.
ts_berlin
Naja, vielleicht sind die UNIX-Quelltexte nicht gerade die besten Beispiele zum Erlernen von C. Es ist immer auch die Frage, was man programmieren möchte. So wird zum Beispiel im Linux-Kernel gerne GOTO benutzt, mit allen Vor- und Nachteilen.
Für jemanden der vielleicht sauber programmieren lernen möchte ist das jedoch wahrscheinlich der falsche Ansatz.
Für jemanden der vielleicht sauber programmieren lernen möchte ist das jedoch wahrscheinlich der falsche Ansatz.
-
- Beiträge: 37
- Registriert: 24.02.2003 17:48:35
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Berlin
-
Kontaktdaten:
Hallo Forum,
danke NIEMAND, schon gefunden:
http://wwwuser.gwdg.de/~kboehm/ebook/inhalt.html
und noch dies gefunden:
http://www.math.utah.edu/docs/info/libg++_toc.html
http://www.trumphurst.com/cpplibs1.html
ts_berlin
danke NIEMAND, schon gefunden:
http://wwwuser.gwdg.de/~kboehm/ebook/inhalt.html
und noch dies gefunden:
http://www.math.utah.edu/docs/info/libg++_toc.html
http://www.trumphurst.com/cpplibs1.html
ts_berlin
- BeS
- Moderator
- Beiträge: 3236
- Registriert: 17.04.2002 18:30:21
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Stuttgart
-
Kontaktdaten:
Hallo,
mal etwas generelles. Du schreibst mal C, dann C(++), dann etwas von Klassen, Überladen,...
Was willst du eigentlich lernen, bzw. was hast du überhaupt gelernt? C oder C++. Ich bin immer wieder erstaunt wie das von manchen durcheinander geworfen wird.
mal etwas generelles. Du schreibst mal C, dann C(++), dann etwas von Klassen, Überladen,...
Was willst du eigentlich lernen, bzw. was hast du überhaupt gelernt? C oder C++. Ich bin immer wieder erstaunt wie das von manchen durcheinander geworfen wird.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support
Ich spreche von Freier Software!
Ich spreche von Freier Software!