¿Cuál es el equivalente de Linux ldd
en Windows?
Respuestas:
Aquí está Dependency Walker.
El dumpbin
comando puede ser útil para muchas cosas, aunque en este caso el walker de dependencias probablemente sea un poco más detallado.
dumpbin /dependents some.dll
Salida de ejemplo:
C: \ Archivos de programa (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Team Tools \ Static Analysis Tools> dumpbin / dependientes StanPolicy.dll
Volcado del archivo StanPolicy.dll
Tipo de archivo: DLL
La imagen tiene las siguientes dependencias:
mscoree.dll
Resumen
2000 .reloc 2000 .rsrc 1E000 .text
o la herramienta GNU:
i586-mingw32msvc-objdump -p *.exe | grep 'DLL Name:'
ldd
hace.
PowerShell puede hacer esto
PS> Proceso de inicio -PassThru calc.exe | Get-Process -Module Tamaño (K) ModuleName ------- ---------- 908 calc.exe 1700 ntdll.dll 1148 kernel32.dll 432 KERNELBASE.dll 13856 SHELL32.dll ...
Si está usando wine
Windows y no es real, puede usar WINEDEBUG=+loaddll wine <program>
.
GdiplusStartup
, y GDI + funcionó sin problemas en Wine, mientras que en Windows no. Solo noté este error después de haber depurado el programa en Wine, y luego intenté ejecutarlo en Windows.
Ahora hay un ldd
Cygwin. Si tiene una versión Cygwin muy antigua, tendrá que usar cygcheck
.
Supongo que la forma de desarrollador de Windows para hacer esto es usar dumpbin /dependents source.exe
. Si tiene instalado Visual Studio se puede encontrar aquí: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe
.
Las versiones más nuevas de Git en Windows vienen empaquetadas con algo llamado Git BASH , que emula muchos comandos útiles de Unix, incluido ldd.
Parece que solo informa las bibliotecas que se pueden encontrar. Entonces, puede usar esto para obtener una descripción general de dónde se encuentran las bibliotecas utilizadas, pero no cuáles faltan.
Para Windows 10 puede usar Dependencias: un moderno Dependency Walker de código abierto
Para Windows 10, con Visual Studio 2017, voy a la barra de búsqueda de Windows y escribo:
"Símbolo del sistema para desarrolladores para VS 2017" (un cmd.exe especial para desarrolladores de Visual Studio)
Esto permite obtener acceso a DUMPBIN que debe usarse con la etiqueta \ IMPORTS. Por ejemplo, en el directorio correcto:
DUMPBIN \ IMPORTS yourfile.exe (otras extensiones también pueden funcionar)
Para mí, esta lista la DLL y las funciones utilizadas.
Alternativamente, puede usar la etiqueta \ ALL que es mucho más detallada.
vea la explicación de microsoft de DUMPBIN:
https://docs.microsoft.com/en-us/cpp/build/reference/imports-dumpbin?view=vs-2019
Ejemplo (con solo una parte) del contenido devuelto por el comando