2015-04-23 6 views
1

Je suis en train de compiler une bibliothèque « A » sur ma machine, & i ont « C » & dépendances option « D » de A installé au chemin d'accès standard et comme chemin local/commande, les bibliothèques de chemin d'accès personnalisé (-O3) sont plus optimisées par rapport aux bibliothèques de chemin d'accès standard (-O0).Obtenir la liste des bibliothèques utilisées dans une bibliothèque

Je compile la bibliothèque "A" en fournissant le chemin de les bibliothèques locales en utilisant LDFLAGS (-L) et LIBS (-l). et la bibliothèque est générée (libA.so ou libA.a)!

ldd est un outil qui peut dire que les bibliothèques étaient liées contre l'exécutable.

  • est-il un outil équivalent qui peut dire que les bibliothèques étaient liées à la bibliothèque (à savoir ldd libscalapack.a)?
  • est-il un moyen de faire en sorte que le temps les bibliothèques optionnelles bibliothèques ont été utilisées lors de la création de bibliothèque A (libA.so/libA.a)?
  • est-il un moyen de dire sûrement qui ont été utilisés à des bibliothèques standard & locales lors de la compilation?

Eagerly En attente de vos réponses.

Répondre

0

Dites votre éditeur de liens que vous voulez une carte de charge (-Wl,-Map -Wl,mapfile si vous utilisez gcc). Cela vous indiquera quelles bibliothèques ont été utilisées pendant la phase de liaison.

Dans le cas des bibliothèques partagées, cela ne signifie pas nécessairement que les mêmes bibliothèques exactes seront utilisées lors de l'exécution du programme, qui dépend de la configuration du chargeur dynamique.