Les développeurs sous Linux connaissent bien la commande 'ldd', laquelle permet de lister les librairies partagées de type *.so utilisées par un programme ou une librairie.
En me basant sur un code source permettant de "dumper" des fichiers (exécutables ou non) de type WIN32/PE, j'ai essayé de réaliser un clône de cette commande sous Windows.
En conséquence, on traite donc ici des DLL utilisées par un programme ou une autre DLL.
L'intérêt principal réside dans la connaissance immédiate de l'ensemble des librairies éventuellement manquantes lors de l'exécution d'un programme ou lors de l'utilisation d'une librairie.
Source / Exemple :
Dépôt SVN : http://svn.fmichaud.com/app/win32ldd/trunk/
Conclusion :
Compilation réalisée avec Dev-C++ (fichier .dev dans le zip).
Compilation et installation sous Cygwin (installation par défaut dans le répertoire /usr/local):
./configure
make
make install
31 oct. 2007 à 15:11
merci pour ce petit bout de soft très pratique.
4 janv. 2005 à 01:21
23 déc. 2004 à 17:36
Pour ce qui est des valeurs entre parenthèses je n'en ai aucune idée, man ldd ne donne pas d'explications (sur NetBSD en tout cas). Et je n'ai jamais utilisé Cygwin, donc...
Bonne continuation !
23 déc. 2004 à 10:10
1. Réctificatif : ce n'est pas objdump qui s'inspire de ce code mais plutôt l'inverse ;-) [cf. mon minable commentaire du 22/12/2004 22:11:48].
2. Je ne crois pas que la commande objdump puisse spécifier si la dll est trouvée ou non dans le PATH de Windows.
Une question :
Quelqu'un sait-il à quoi correspond précisément l'adresse mémoire spécifiée entre paranthèses lors de l'exécution de ldd sous linux ? En effet, j'aimerais à l'avenir améliorer la correspondance entre la véritable commande ldd et ce code (je pense également au mode 'verbose' et aux relocations).
Nébula -> merci pour ta note ;-) sympa.
22 déc. 2004 à 23:07
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.