我正在使用舊版C++項目並且缺少第三方dll。我被告知該DLL將在兩週內上市。我需要執行的工作是純UI。我真的不需要這個DLL。但是,該應用程序不會運行沒有DLL。我是否應該註釋掉dll所調用的所有地方或創建佔位符DLL,無論哪種方式都有大量的API需要覆蓋?沒有人有更好的主意嗎?第三方DLL丟失了,我應該等待什麼?
1
A
回答
6
我會創建一個stub DLL,它不會執行任何操作(或只需要執行任何操作)。然後,當你得到真正的一個,把它放在你的存根上,你就完成了。
如果您需要創建一個zillion函數,您可能可以使用perl或其他一些腳本語言來幫助將您的鏈接器錯誤轉換爲包含您需要的函數原型的文件。
0
你不會走得太遠。有了這麼多的電話,寫封包是時間的一個不好的用法,除非你在監獄裏或什麼的。
您不能從正在運行的安裝中獲取DLL的副本?或者這是一個授權問題?
1
編寫單元測試。否則,聽起來像是兩週的拇指旋轉。
-2
我,我會盡力在這裏複製.DLL許可和其他問題。除此之外找到另一個項目,我認爲...
3
如果您有權訪問EXE的源代碼(似乎是這樣),並且您正在運行任何最新的Visual Studio(6或更高版本),一個簡單的解決方案用/ DelayLoad重建。這意味着鏈接器將設置EXE來調用LoadLibrary並在第一次調用時解析導入。這意味着如果你實際上沒有調用這個DLL,它永遠不會被加載,並且通過擴展名不會丟失。
這意味着您不必創建任何存根DLL;這是一個5分鐘的變化。
1
我通常通過調用LoadLibrary
和GetProcAddress
來動態加載不重要的DLL,這樣我的應用程序就可以在沒有它們的情況下運行。應用程序可以檢查DLL是否被加載,如果沒有,它不提供DLL提供的功能。我用拼寫檢查器,條形碼庫等等可能是需要考慮的事情。
相關問題
- 1. 我應該在解決方案中包含第三方(Devexpress)dll文件嗎?
- 2. 什麼功能應該始終是第三方?
- 3. Visual Studio 2010正在吃我的DLL! - 引用第三方DLL文件丟失後建立
- 4. NPAPI加載第三方DLL
- 5. 包裝第三方DLL
- 6. Nuget和第三方DLL的
- 7. 爲什麼我的XHR呼叫等待對方返回響應
- 8. 如何等待第三方庫中的異步方法 - web api
- 9. 我應該怎麼做,當我安裝mod_wsgi我丟失ap_config.h
- 10. MSVCP120.dll丟失
- 11. 「opencv_core220.dll丟失」?
- 12. cudart64_80.dll丟失
- 13. 丟失的DLL
- 14. ATL100.DLL丟失
- 15. 在jQuery的clone()中丟失了什麼?
- 16. 爲什麼我的等待方法不等到30秒?
- 17. minitest說方法丟失,但方法存在我錯過了什麼?
- 18. 什麼是等待?
- 19. 在第三方DLL中調用方法
- 20. ASP.NET 4.6異步控制器方法在等待後丟失HttpContext.Current
- 21. 什麼等待()其實是指Java?我會等待還是等待?
- 22. jQuery:在等待窗口加載時忽略第三方內容
- 23. 等待線程完成第三方庫(OpenMap/Java)?
- 24. 如何等待第三方JavaScript函數返回
- 25. 我什麼時候應該重寫等方法在Java中
- 26. Akka Camel - JMS消息丟失 - 應等待Camel初始化?
- 27. 爲什麼我的'等待方法'不會使TestNG測試用例失敗?
- 28. 暫停主程序等待DLL響應
- 29. setTimeout不起作用,我在這裏丟失了什麼?
- 30. 爲什麼我在send()函數中丟失了這個字節?
監獄......真的嗎? – Aardvark 2009-02-10 14:23:20