了解 Visual C++ 應用程式的相依性
若要判斷應用程式相依於哪些 Visual C++ 程式庫,您可以檢視專案屬性 (開啟專案的捷徑功能表並選擇 [屬性] 以開啟 [屬性頁] 對話方塊)。您也可以使用 Dependency Walker (depends.exe),更全面性地了解相依性。
在 [屬性頁] 對話方塊中,您可以在 [組態屬性] 下檢查各種頁面以了解相依性。例如,如果您的專案使用 MFC 程式庫,而您在 [一般] 頁面的 [組態屬性] 上選擇 [使用 MFC 的共用 DLL] 的 [MFC 的使用],您的應用程式在執行階段會相依於 MFC DLL (例如 mfc100.dll)。如果應用程式不使用 MFC,而且您在 [程式碼產生] 頁面的 [C/C++] 的 [組態屬性] 上選擇 [多執行緒偵錯 DLL (/MDd)] 或 [多執行緒 DLL (/MD)] 的 [執行階段程式庫] 值,則應用程式可能會相依於 CRT 程式庫。
判斷應用程式相依於哪些 DLL 的一個更簡單方法,就是使用 Dependency Walker (depends.exe) 開啟應用程式。您可以從 Dependency Walker 網站下載工具。
您可以使用 depends.exe 檢查靜態連結應用程式的 DLL 清單,以及其延遲載入 DLL 的清單。如果您要取得動態載入 DLL 的清單,您可以使用 depends.exe 中的程式碼剖析功能測試應用程式,直到您確定所有程式碼路徑皆已執行為止。當您結束設定檔工作階段 (Session) 時,depends.exe 將會顯示已動態載入哪些 DLL。
在您使用 depends.exe 時,請注意 DLL 可能會相依於另一個 DLL 或特定版本的 DLL。您可在開發電腦或目標電腦上使用 depends.exe。在開發電腦上,depends.exe 將會報告支援應用程式所需的 DLL。如果您在目標電腦上執行應用程式時遇到問題,您可將 depends.exe 複製到該電腦並且在工具中開啟應用程式,藉以判斷是否有缺少任何必要的 DLL 或有不正確的 DLL。
當您知道應用程式所相依的 DLL,您可以判斷當部署到另一部電腦時,必須要與應用程式一起轉散發的 DLL。在大多數情況下,您不需要轉散發系統 DLL,但是可能必須轉散發 Visual C++ 程式庫的 DLL。如需詳細資訊,請參閱決定要轉散發哪些 DLL。