Ich habe Windows-Anwendungsprojekt in Visual Studio erstellt. OpenSSL-Bibliothek (Größe: 15 MB) ist statisch mit dem Anwendungsprojekt verknüpft.Warum ausführbar ist kleiner als die Bibliothek, die statisch mit Anwendungsprojekt verknüpft ist?
Aber, noch Größe der Anwendung (ausführbare Datei) .exe-Datei ~ nur 2 MB.
Wie ist es möglich? Kann mir jemand erklären, wie Linker das tun?
* Jede Objektdatei enthält den Code für eine einzelne Funktion * Ähm nicht wirklich, normalerweise ist jede Objektdatei das Ergebnis der Kompilierung einer einzelnen Übersetzungseinheit (d. H. Einer .c/.cpp-Datei). –
So funktionieren statische Bibliotheken auf jeder Plattform, die ich kenne ... –
@MatteoItalia: Danke für den Hinweis auf den Fehler in * Jedes Objekt ... *. Ich habe meine Antwort entsprechend aktualisiert. – Codo