020
22.04.2004, 10:06 Uhr
RHBaum
|
@beef Ok, bisserl mutwillen steckt aber schon dahinter
Und an C Funktionen hab ich an der stelle wirklich ned so gedacht :-) C schreib ich ned so oft ... bzw wuerde jeder c compiler meckern weil ich automatisch eh c++ techniken einsteze :-)
Ich dachte eher an klassen, wo ueber den klassennamen eh schon nen hoffentlich eindeutigen Identifier hast, und naja C++ segnet uns ja mit namespaces
Warum und wann ich eben deklaration und definition zusammenlege ist bei bei Hilfsklassen die ich recht haeufig verwende. Weil ich eben keine lib zu haben will, oder einbinden mag wenn ich die Klassen nutze. Und dann noch den aerger mit der passenden Version, dass die linker Symbole Stimmen, also singelthreaded/multithreaded debug oder nich ... Das mag ich mit einfach sparen ....
@Mike Ne lib ist einfach nur ne Zusammenfassung von mehreren obj Dateien. der compiler kann zur compilzeit nicht bestimmen, was in deiner lib drinnensteckt. im gegenteil, der compiler weiss zur compilezeit gar ned, welche lib spaeter hinzugelinkt wird. Das weiss erst der Linker. Deshalb brauchst du die Header, um zu wissen was deine lib kann, die du spaeter hinzulinkst. (Namen der funktionen, parameter) Zusaetzlich koennen in so nem Header noch praktische Hilfsmittel drin sein, die dir die arbeit mit deiner Lib vereinfachen (typdefinitionen, makros) Es ist durchaus auch moeglich, und sogar praxis, das du mehrere libs hast, die ein und das selbe implementieren, also die selben H datein haben (unterstuetzen) ... aber intern anders funktionieren. Und du erst beim linken die durch auswahl der geeigneten lib die funktionalitaet bestimmst. Wird aber ned so haeufig mehr eingesetzt, weil du das eben beim linken schon bestimmen musst, dynamische bibos sind da noch flexibler, da kannst zur laufzeit bestimmen welche eingehaengt wird ...
Ciao ... |