【发布时间】:2014-08-05 10:28:57
【问题描述】:
我从一个网站下载了一个源代码,它包含 main.cpp 和一个包含一些 .dll 文件的文件夹。在 main.cpp 文件中,包含与 .dll 文件名称相似的标头。有没有什么办法可以在只有 .dll 文件的 VS 项目中使用源代码,即使我没有标头?
【问题讨论】:
标签: c++ winapi visual-studio-2012 dll
我从一个网站下载了一个源代码,它包含 main.cpp 和一个包含一些 .dll 文件的文件夹。在 main.cpp 文件中,包含与 .dll 文件名称相似的标头。有没有什么办法可以在只有 .dll 文件的 VS 项目中使用源代码,即使我没有标头?
【问题讨论】:
标签: c++ winapi visual-studio-2012 dll
要回答您的问题,是的,您可以这样做。只需使用 LoadLibrary() 函数加载 DLL 并使用 GetProcAddress() 解析其中的函数,也就是“显式加载”。但是,这需要了解 DLL 导出的接口,这相当于您没有的头文件提供的信息。如果你有这些信息,你也可以写标题,如果你没有,你就不能加载 DLL。请注意,在某种程度上,dependencywalker 等工具可以确定 DLL 的接口,但这可能不足以使用它。总之,不,你不能那样做,你需要知道接口。
【讨论】: