我正在做一个学校项目,我的老师给了我一个c ++ .dll及其.h如何在Visual Studio 2019的C ++控制台应用程序中使用它?谢谢
如果除了.lib
和.h
文件之外没有提供.dll
文件,则您可能需要走LoadLibrary
/ GetProcAddress
路线。如果导出的函数实际上是用C ++名称修饰修饰的,那么这会很痛苦。
HINSTANCE hMyLib = LoadLibrary(_T("mydll.dll"));
if (!hMyLib) { /* error */ }
bool (*func)() = reinterpret_cast<bool (*)()>(GetProcAddress(hMyLib, "some_func"));
if (!func) { /* error */ }
if (!func()) // actual function call
{}
注意,是可以使用.lib
工具自己生成lib.exe文件。然后,您可以将.lib
文件添加到项目引用中(通过项目设置或通过#pragma comment(lib, ...)
指令),然后只需简单地#include
标头即可调用函数,就好像它们是函数的一部分一样您的项目。