如何将DLL嵌入到DLL中?
How to embed a DLL into a DLL?
我设法用 C++ / Visual Studio 2010、2017 创建了一个程序。现在我必须在另一个 DLL (A.dll
) 中嵌入一个 DLL (B.dll
)。
我成功执行了另一个使用 A.dll
的程序 (C.exe
)。但是不知道怎么把DLL嵌入到DLL中。
可能吗?如果可以,我该怎么办?
我有 A.dll
、B.dll
、C.exe
的解决方案。
如果您的意思是 linking by 'embed',您可以对 B.dll
到 link 和 A.dll
使用相同的 .lib
文件] 就像你对 C.exe
.
所做的那样
如果你真的想在 A.dll
的 中嵌入 B.dll
,你可以将 B.dll
定义为 资源A.dll
的 通过 A.dll
项目中的 .rc
script。然后,您可以在运行时使用 B.dll
,首先使用 (Find|Load|Lock)Resource()
访问 B.dll
资源的字节,然后使用 (Create|Write)File()
将它们写入临时文件,然后再加载该文件LoadLibrary()
.
我设法用 C++ / Visual Studio 2010、2017 创建了一个程序。现在我必须在另一个 DLL (A.dll
) 中嵌入一个 DLL (B.dll
)。
我成功执行了另一个使用 A.dll
的程序 (C.exe
)。但是不知道怎么把DLL嵌入到DLL中。
可能吗?如果可以,我该怎么办?
我有 A.dll
、B.dll
、C.exe
的解决方案。
如果您的意思是 linking by 'embed',您可以对 B.dll
到 link 和 A.dll
使用相同的 .lib
文件] 就像你对 C.exe
.
如果你真的想在 A.dll
的 中嵌入 B.dll
,你可以将 B.dll
定义为 资源A.dll
的 通过 A.dll
项目中的 .rc
script。然后,您可以在运行时使用 B.dll
,首先使用 (Find|Load|Lock)Resource()
访问 B.dll
资源的字节,然后使用 (Create|Write)File()
将它们写入临时文件,然后再加载该文件LoadLibrary()
.