2009-09-11 5 views

Répondre

25

Depuis le (Mac OS X, mais d'autres sont similaires) man page:

bande

supprime ou modifie la table des symboles attachés à la sortie de l'assembleur et éditeur lien. Cela est utile pour économiser de l'espace après qu'un programme a été débogué et pour limiter les symboles liés dynamiquement.

Notez le peu de « après un programme a été débogué » parce que le débogage d'un exécutable est dépouillé très dur, en effet. La "limitation des symboles liés dynamiquement" est une utilisation plus rare: elle vous permet de rendre inaccessibles certaines des fonctions d'une bibliothèque externe en supprimant les entrées d'index qui indiquent l'emplacement du code réel. Ceci est également expliqué dans la page de manuel.

Aussi bon marché et abondant que le disque est dans la plupart des situations, vous ne vous en soucieriez plus.

+21

Tant que vous gardez une copie non décapsulée de votre exécutable, vous pouvez expédier librement la version dépouillée et le débogage de la version non supprimée, si nécessaire. . Ceci est commun dans le développement intégré, par exemple: si un fichier core (provenant d'un client exécutant le binaire supprimé) provient du champ, vous pouvez charger le binaire non décompressé dans gdb, puis ouvrir le fichier core et avoir un débogage symbolique complet. –

+18

Alors que l'espace disque est bon marché, les performances du disque ne l'est pas. Plus les binaires sont petits, moins les E/S de disque doivent être effectuées lors du chargement de l'application/bibliothèque. –

+3

Je vais appuyer cela. Les gros programmes amènent mon ordinateur respectueusement puissant à une exploration déplorable. Programmeurs! Petit est beau! Rappelez-vous, une autre raison pour les temps de chargement lent est des bibliothèques fragmentées. Ils sont fragmentés pour les rendre plus fins et éviter - ha ha - chargement inutile. Cela compte moins dans l'ère de l'accès rapide au SSD. – spraff

7

Il supprime les informations de symbole du binaire. Le binaire contient certaines informations qui mappent des symboles (par exemple des noms de fonctions) à des emplacements particuliers. strip les supprime.

4

Dans son fonctionnement par défaut, la commande bande supprime la table des symboles et des informations de débogage à partir d'un fichier exécutable .

From here

Questions connexes