[英]Using exe or DLL for calling program from another program
我有一個大程序 A,它在某些時候調用我的(大)程序 B。程序 B 在程序 A 中只調用一次。目前程序 B 是一個可執行程序(B.exe - 編譯的 C++ 代碼)。
有人建議使用程序 B 的 DLL 而不是使用可執行文件。
使用 dll 是否有任何優勢(如安全性、尺寸等)
不。事實上,如果您正在查看安全性、大小等問題,使用 DLL 會使事情變得更糟。 當您加載 DLL 時,一切都發生在加載過程的地址空間內。 所以 DLL 內部的任何 bug 都會直接影響程序的 rest。 DLL 代碼中的崩潰,將使整個程序崩潰。
從我的源代碼創建 dll 是否容易(我使用 Qt 創建者)
是的。 但對我來說,您的特定用例似乎幾乎沒有任何好處。 事實上,對於很少使用的代碼路徑,我強烈建議將其放入單獨的進程中(即鏈接到 a.EXE 中)。
順便說一句: .dll
和.exe
完全相同。 您可以像加載 DLL 一樣加載.exe
; 給它一個DllMain
,你可以使用它! 當然,使用LoadLibrary
加載 EXE 不會使其在單獨的進程中運行,而是將所有錯誤導入到您的主程序中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.