-
librairie statique
Bonjour
j'utilise les librarires statiques suivantes
2.3M libcrypto.a
448K libcurl.a
352K libssl.a
mon programme a une taille 2.4 M
donc je suppose que l'editeur de lien ne copie pas toute la librarie dans mon executable mais seulement les fonctions dont mon programme a besoin
Comment puis je savoir quelle taille occupe chaque librarie dans mon executable ?
-
un ami m' a file une idee
pour voir la taille ocupee par libcrypto dans mon programme il suffit de generer mon programme avec libcrypto linke en statique => taile 2.4 M
puis genere mon programme avec libcrypto linke en dynamique => 1.4 M
donc libcrypto occupe 1 M en statique
Est -ce que ce reaisonnement est juste ?
-
Et si tu strip ton binaire, est-ce que cela donne la même chose ? :p
-
Salut,
Les librairies et les éxecutables générés ne sont pas du tout la même chose et n'ont donc pas la même taille : les librairies sont des fichiers type objet, c'est-à-dire qu'il y a les informations pour le linkeur (le nom des fonctions, leur code, les infos générales etc.) alors que les éxecutables générés ne contiennent que le code machine. Donc la taille des deux fichiers n'a aucun rapport... :wink:
-
Je ne me souviens plus de l'outil permettant d'afficher les ressources mémoires des différentes librairies et des exécutables que l'on utilise.
-
j'y connait rien mais essaie de compiler ta lib seule !