我刚买了一个附带dll文件的设备。我想使用Visual C ++来编程设备。如何将.dll文件加载到我的项目中?
答案 0 :(得分:1)
DLL是一个包含已编译程序逻辑的库文件,就像EXE一样。您不能单独执行它,但是像EXE文件一样,您不能将其“加载”到项目中。
您需要使用Load Library之类的函数来加载库,然后使用GetProcAddress来查找要调用的函数。
编辑:
在您在评论中澄清了您的问题后,您试图编写一个Windows程序而不是您在设备上运行的程序。
我写了一些示例代码,向您展示如何开始:
#include <windows.h> // This is a windows header file. The functions I mentioned above are declared here
#include "mpusbapi.h" // This is the header file supplied. It declares the function prototypes that are defined in the DLL
int main(int argc, char* argv)
{
// Try to load the library
HMODULE mpbusDLL = NULL;
mpbusDLL = LoadLibrary(L"mpusbapi.dll");
if (mpbusDLL != NULL) {
// If the library could be loaded, then load the functions using GetProcAddress()
// Load the function 'MPUSBOpen' from the DLL
MPUSBOpen = (HANDLE(*)(DWORD, PCHAR, PCHAR, DWORD, DWORD)) GetProcAddress(mpbusDLL, "_MPUSBOpen");
...
MPUSBOpen(...);
}
}
此C代码将加载您的库,然后尝试加载函数MPUSBOpen
,该函数在您的DLL中实现。
您需要以相同的方式加载头文件中定义的其他函数(至少如果您想使用它们)。