statisch linken
-
Hi,
dieser thread: http://www.c-plusplus.net/forum/viewtopic-var-t-is-117550.html hat mich an eine Frage erinnert die ich schon immer stellen wollte:
wenn ich mittels:$ gcc -o prog prog.c
compiliere, verlinke ich da die Bibliothek statisch oder dynamisch? Wie compiliere ich das Gegenteil?
und noch eine Artverwandte Frage:
Ich habe in einem Modul (hier aa.o) eine Functionssammlung:aaa() { /* */ } bbb() { /* */ } /* ... */
das ganze linke ich mittels
$ gcc -o out main.o aa.o
(in der Annahme es ist ein statisches verlinken). In der main.c habe ich nur die aaa() funktion genutzt. Erscheint dann in dem output "out" nun auch der ungenutzte code der funktion bbb() ?
Für Eure Antworten wäre ich Euch sehr dankabr
gruss
-
Objekt Dateien linkt man immer statisch. Es geht um Libraries, ala *.a und *.so.
-
und die *.so ?
die können doch nur dynamisch gelinkt werden.
-
Genau. Fürs statische linken gibt's *.a.
-
wenn es die denn gibt.