Tương đương với Linux ldd
trên Windows là gì?
Câu trả lời:
Đây là Dependency Walker.
Các dumpbin
lệnh có thể hữu ích cho nhiều thứ, mặc dù trong trường hợp này phụ thuộc walker có lẽ là một chút dài dòng hơn.
dumpbin /dependents some.dll
Ví dụ đầu ra:
C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Team Tools \ Static Analysis Tools> dumpbin / dependents StanPolicy.dll
Kết xuất tệp StanPolicy.dll
Loại tệp: DLL
Hình ảnh có các phụ thuộc sau:
mscoree.dll
Tóm lược
2000 .reloc 2000 .rsrc 1E000 .text
hoặc công cụ GNU:
i586-mingw32msvc-objdump -p *.exe | grep 'DLL Name:'
ldd
vậy.
PowerShell có thể làm điều này
PS> Start-Process -PassThru calc.exe | Get-Process -Module Kích thước (K) Mô-đunName ------- ---------- 908 calc.exe 1700 ntdll.dll 1148 kernel32.dll 432 KERNELBASE.dll 13856 SHELL32.dll ...
Nếu bạn đang sử dụng wine
chứ không phải Windows thực, bạn có thể sử dụng WINEDEBUG=+loaddll wine <program>
.
GdiplusStartup
và GDI + hoạt động mà không gặp sự cố trong Wine, trong khi trên Windows thì không. Tôi chỉ nhận thấy lỗi này sau khi gỡ lỗi chương trình trong Wine, cố gắng tiếp theo để chạy nó trong Windows.
Hiện có một ldd
trong Cygwin. Nếu bạn có một phiên bản Cygwin rất cũ, bạn sẽ phải sử dụng cygcheck
.
Tôi đoán cách Nhà phát triển Windows để làm điều này là sử dụng dumpbin /dependents source.exe
. Nếu bạn có cài đặt Visual Studio bạn có thể tìm thấy nó ở đây: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\dumpbin.exe
.
Các phiên bản mới hơn của Git trên Windows được đóng gói với một thứ gọi là Git BASH , mô phỏng nhiều lệnh Unix hữu ích bao gồm ldd.
Có vẻ như nó chỉ báo cáo các thư viện có thể được tìm thấy. Vì vậy, bạn có thể sử dụng điều này để có cái nhìn tổng quan về vị trí của các thư viện đã sử dụng nhưng không bị thiếu.
Đối với Windows 10, bạn có thể sử dụng Dependencies - Công cụ phụ thuộc hiện đại mã nguồn mở
Đối với windows 10, với visual studio 2017, tôi vào thanh tìm kiếm của windows và nhập:
"Developer Command Prompt cho VS 2017" (cmd.exe đặc biệt dành cho nhà phát triển Visual studio)
Điều này cho phép truy cập vào DUMPBIN sẽ được sử dụng với thẻ \ IMPORTS. Ví dụ, trong thư mục chính xác:
DUMPBIN \ IMPORTS yourfile.exe (các tiện ích mở rộng khác cũng có thể hoạt động)
Đối với tôi, danh sách này liệt kê DLL và các chức năng được sử dụng.
Ngoài ra, bạn có thể sử dụng thẻ \ ALL dài hơn nhiều.
xem giải thích của microsoft về DUMPBIN:
https://docs.microsoft.com/en-us/cpp/build/reference/imports-dumpbin?view=vs-2019
Ví dụ (chỉ với một phần) của nội dung được gửi lại bằng lệnh