Wenn man mit C
arbeitet, hat man mit verschiedenen Komponenten
der Sprache zu tun. Das offensichtlichste ist der Compiler (in SP
benutzen wir ja GCC, aber mehr
dazu bei Compiler Implementierungen
).
Die zweite große Komponente ist die (C) Standard Bibliothek. Als Implementierung benutzen wir Glibc, aber die Schnittstelle ist der POSIX Standard.
$ info libc
)
C ist aber auch eine standardisierte Sprache, d.h. es gibt nicht nur eine (Referenz-)implementierung, sondern alle Compiler und C Bibliotheken, etc. richten sich zunächst nach einem C Standard (in SP C11
).
+
, ->
, =
, ...) binden wie stark? (siehe auch operator(7))Dazu ist C auch noch eine alte Sprache. Hier sind ein paar Dokumente von vielleicht primär historischem Interesse (dennoch lesenswert!):
[t]he first C compiler ported to x86. Interessant wenn man alten C code Übersetzen will.
Zu Werkzeugen lernen wir in SP Valgrind und GDB kennen. Ich empfehle allen Studenten sich mit GDB vertraut zu machen, da es bei den Aufgaben viel helfen kann. Siehe dazu meine kleine GDB Einführung
, welche das allgemeine Arbeiten vorstellt.
Oft hört man jedoch das C eine unpopuläre Sprache ist, und es dass
viele Beschwerenden gibt, wenn man sich damit beschäftigen muss.
Denen kann der
Artikel Some
Were Meant For C
(pdf) helfen nachzuvollziehen, wieso es sinnvoll ist,
zumindest mit der Art und Weise wie C arbeitet zu konfrontieren.
Man kann aber auch Spaß
haben mit C, weil es sehr schnell
sehr unleserlich werden kann. Hier ein Wettbewerb für Leute die das
bis zum Extrem treiben:
Viele die SP belegen, werden später vielleicht nicht mehr viel mit C
zu tun haben, sondern mit C++. Die Sprache wird von manchen
als Erweiterung
von C gesehen werden, von anderen als ein
Fehler. Dennoch ist das Verhältnis zwischen den Sprachen interessant:
Da Netzwerk-Programmierung in SP2 ein Thema ist, kann man sich diese Resourcen anschauen:
Darüber hinaus habe ich noch weitere Links in meiner allgemeinen Link Sammlung noch ein paar Verweise.
$Id: c.html,v 1.18 2024/08/28 20:15:55 oj14ozun Exp $