簡體   English   中英

即使沒有符號被EXE直接使用,如何強制DLL依賴呢?

[英]How to force a DLL dependency even when no symbols are directly used by EXE?

我有一個依賴於B.DLL的A.DLL。 A.DLL包含一些初始化代碼( DllMain ),用於向B.DLL注冊內容。

我還有一個可執行文件E.EXE,它不直接引用任何A.DLL符號,但它通過從B.DLL獲得的通用接口使用A.DLL的內容。

問題在於A.DLL永遠不會加載到E.EXE的進程中,因為它的任何導出符號都不是E.EXE的導入。

我是否可以強制將A.DLL加載到進程中,而無需實際引用E.EXE中的A.DLL符號,也無需反轉A.DLL和B.DLL之間的依賴關系(或創建依賴關系循環),也可以不使用顯式LoadLibrary()打電話嗎?

編輯:問題是在Windows上使用Visual Studio產生的,但可移植性是一個問題,因此LoadLibrary()不可用。

您可以指定/ INCLUDE鏈接器選項,並提供A.dll導出的符號。

即使您的可執行文件沒有真正引用該符號,該選項也會強制鏈接器將A.dll添加到依賴項中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM