Hallo,
»» $ gcc -c durchschnitt.c -o durchschnitt.o -std=c99
»» $ ar rcs libdurchschnitt.a durchschnitt.o
»» $ gcc -static durchschnitt.h Main.c -L. -ldurchschnitt -o Main_statisch -std=c99ich habe das hier mit gcc Version 4.3.2 und ar aus
den binutils 2.1.18.20080103 mal genauso probiert und kann
kein auffälliges Verhalten finden, d. h. der Durchschnitt
wird - auch mit Verwendung der Library - korrekt ausgegeben.
Hmmm, ich werde abends mal nachsehen, welche gcc-Version ich daheim benutze. Oder eventuell sind irgendwo bestimmte Compilerflags gesetzt?
- durchschnitt.h:
Die Zeilen
#define MAX 30
#include <stdio.h>
#include <stdlib.h>
>
> werden allesamt nur in main.c benötigt. Aus Code-Design-Aspekten
> würde ich diese Zeilen daher auch in main.c schreiben, zumal es
> ja auch sein kann, dass durchschnitt.h von anderen Codes
> eingebunden sind, die evtl. <stdio.h> etc. schon anderweitig
> inkludieren oder die andere Vorstellungen von MAX haben [...]
Dazu hätte ich sowieso eine Frage. Wie sieht das "korrekte" Design für C-Programme eigentlich aus? Für sinnvoll halte ich natürlich einen objektorientierten Ansatz, aber da müsste ich mich wiederum fragen, warum ich nicht gleich C++ verwende, wenn ich schon mit C C++, oder Java "simulieren" will.
Markus