Fabian Hänsel schrieb am Mittwoch, 1. Dezember 2004 19:23:
Hallo Falk,
Falk Döring schrieb:
[falk@Voyager C]$ gcc -lreadline read.c /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../libreadline.so: undefined reference to `tgetnum'
[...]
Was wollen mir diese Fehlermeldungen sagen? Muss ich noch weitere Bibliotheken beim compilieren mit angeben? Die Beispiele zu readline lassen sich erst
Nimm mal ncurses dazu (also gcc -lncurses -lreadline read.c).
Klappt.
recht nicht compilieren, können mir also auch nicht weiterhelfen. (readline.h ist in diesem Ordner zu finden!)
readline.h in diesem Ordner wird ignoriert. Header-Dateien im aktuellen Ordner bindest du nicht mit #include <datei>, sondern mit #include "datei" ein.
Deutsche Sprache, schwere Sprache. <readline/readline.h> == /usr/include/readline/readline.h
Frage 2: Wie bekomme ich bei Funktionen optionale Parameter (in C) hin?
Bei C nicht direkt (ginge z.B. in C++). Du kannst aber z.B. eine Liste variabler Länge übergeben: void fkt(int len, int liste[]);
Frage 3: Worin besteht der Unterschied zwischen den Standard-C-Funktionen (bzw. den Basistypen) gegenüber denen von glib? (Einer meiner Profs hat ein
Die Basistypen sind idealerweise identisch mit den glib-Typen. Da die glib-Programmierer jedoch die Compiler-Produzenten (außer gcc) nicht beeinflussen können erstellen sie sich ihre eigenen typedefs, die dann jeweils "stimmen".
Kurz: Die glib.h-Programmierer hatten nichts zu tun.
Frage 4: Gibt es eine gute Internet-Adresse, wo ich mich im Falle solcher Fragen informieren kann? (Die ANSI-C-Bestimmungen werden ja bestimmt nicht offen im Web verfügbar sein, zumindest hat mein gegoogle nichts gefunden.)
Die Ansi-Bestimmungen kannst du für $geld bestellen (Vermutung: len(str($geld))>3). Der Standart ist auch nicht zum Programmieren lernen geeignet. Für einzelne Befehle liefern einige Bibliotheken umfangreiche Doku mit (auch die glibc).
Ich will ja nicht mit C anfangen, sondern meine bisherigen Kenntnisse erweitern. Ich habe auch schon einige gut kommentierte Quelltexte gefunden, von denen ich mir was abschauen kann (OpenSource sei dank).
Wenn du eine einfach schnell zu erlernende, schnell zu schreibende, zu lesende und doch mächtige Sprache suchst: nimm Python (aber nicht unbedingt, wenn es schnell ausgeführt werden muss).
Mir geht es nicht um eine "schnell zu erlernende, schnell zu schreibende, zu lesende und doch mächtige Sprache". Mir geht es nur mal wieder um einen Programmiererfolg mit einer Programmiersprache (Erfolge mit PHP sind ja langweilig, obwohl PHP-Scripte auf der Kommandozeile eine gute "Alternative" zu Bash-Scripten sind. Und PHP unterstützt Klassen.)
Falk