Quote:
|
Wenn du eine .cpp Datei mit ein paar Funktionsdefinitionen hast, kannst du die noch lange nicht in anderen Dateien nutzen.
|
Das ist halt das gleiche Prinzip:
Jede .cpp-Datei wird zu einer .obj-Datei kompiliert und eine .lib-Datei ist nichts anderes als eine Zusammenfassung mehrerer .obj-Dateien.
Die eine .cpp-Datei benötigt Funktionsdeklarationen der anderen, da sie praktisch nichts miteinander zu tun haben und erst der Linker wieder mit den Referenzen untereinander arbeitet.
Quote:
|
@link: afaik werden Parameter usw. auch in der Library notiert
|
Das Name Mangling gibt z.B. an, wie viele Parameter erwartet werden und welche Calling Convention benutzt wird.
Das dient aber soweit ich weiß nur dazu, die Funktionen auseinander zu halten wegen Namespaces und Überladungen (kann mich auch irren, wüsste aber gerade nicht, was der Linker sonst z.B. mit der Calling Convention anfangen sollte)