Qual é o equivalente do Linux lddno Windows?
Respostas:
Aqui está o Dependency Walker.
O dumpbincomando pode ser útil para muitas coisas, embora neste caso o dependency walker seja provavelmente um pouco mais prolixo.
dumpbin /dependents some.dll
Saída de exemplo:
C: \ Arquivos de programas (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Team Tools \ Static Analysis Tools> dumpbin / dependents StanPolicy.dll
Despejo do arquivo StanPolicy.dll
Tipo de arquivo: DLL
A imagem tem as seguintes dependências:
mscoree.dllResumo
2000 .reloc 2000 .rsrc 1E000 .text
ou a ferramenta GNU:
i586-mingw32msvc-objdump -p *.exe | grep 'DLL Name:'
lddfaz.
PowerShell pode fazer isso
PS> Start-Process -PassThru calc.exe | Get-Process -Module
Tamanho (K) Nome do Módulo
------- ----------
908 calc.exe
1700 ntdll.dll
1148 kernel32.dll
432 KERNELBASE.dll
13856 SHELL32.dll
...
Se você estiver usando wineo Windows e não o real, pode usar WINEDEBUG=+loaddll wine <program>.
GdiplusStartup, e GDI + funcionou sem problemas no Wine, enquanto no Windows não funcionou. Só percebi esse erro depois de ter depurado o programa no Wine, tentando em seguida executá-lo no Windows.
Agora existe um lddno Cygwin. Se você tiver uma versão muito antiga do Cygwin, terá que usar cygcheck.
Acho que a maneira do Windows Developer de fazer isso é usando dumpbin /dependents source.exe. Se você tiver Visual Studio instalado, você pode encontrá-lo aqui: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe.
Versões mais recentes do Git no Windows vêm com algo chamado Git BASH , que emula muitos comandos Unix úteis, incluindo ldd.
Parece que ele relata apenas as bibliotecas que podem ser encontradas. Portanto, você pode usar isso para obter uma visão geral de onde as bibliotecas usadas estão localizadas, mas não quais estão ausentes.
Para o Windows 10, você pode usar Dependências - um moderno Dependency Walker de código aberto
Para o Windows 10, com o Visual Studio 2017, vou na barra de pesquisa do Windows e digito:
"Prompt de comando do desenvolvedor para VS 2017" (um cmd.exe especial para desenvolvedor Visual Studio)
Isso permite obter acesso ao DUMPBIN que deve ser usado com a tag \ IMPORTS. Por exemplo, no diretório correto:
DUMPBIN \ IMPORTS yourfile.exe (outras extensões também podem funcionar)
Para mim, esta lista a DLL e as funções utilizadas.
Alternativamente, você pode usar a tag \ ALL que é muito mais detalhada.
veja a explicação da microsoft de DUMPBIN:
https://docs.microsoft.com/en-us/cpp/build/reference/imports-dumpbin?view=vs-2019
Exemplo (com apenas uma parte) do conteúdo enviado de volta pelo comando