Visual c++ 在Visual C+中使用提供的dll+;项目
我刚买了一个带有dll文件的设备。我想用Visual C++来编程这个设备。如何将.dll文件加载到我的项目中?A是一个库文件,它包含编译后的程序逻辑,就像EXE一样。您不能单独执行它,但与EXE文件一样,您也不能将其“加载”到项目中 您需要使用函数来加载库,然后查找要调用的函数Visual c++ 在Visual C+中使用提供的dll+;项目,visual-c++,dll,Visual C++,Dll,我刚买了一个带有dll文件的设备。我想用Visual C++来编程这个设备。如何将.dll文件加载到我的项目中?A是一个库文件,它包含编译后的程序逻辑,就像EXE一样。您不能单独执行它,但与EXE文件一样,您也不能将其“加载”到项目中 您需要使用函数来加载库,然后查找要调用的函数 编辑: 在评论中澄清问题后,您试图编写windows程序,而不是在设备上运行的程序 我编写了一些示例代码,向您展示如何开始: #include <windows.h> // This is a w
编辑: 在评论中澄清问题后,您试图编写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(...);
}
}
#include//这是一个windows头文件。我上面提到的函数在这里声明
#包括“mpusbapi.h”//这是提供的头文件。它声明在DLL中定义的函数原型
int main(int argc,char*argv)
{
//尝试加载库
HMODULE mpbusDLL=NULL;
mpbusDLL=LoadLibrary(L“mpusbapi.dll”);
如果(mpbusDLL!=NULL){
//如果可以加载库,则使用GetProcAddress()加载函数
//从DLL加载函数“MPUSBOpen”
MPUSBOpen=(句柄(*)(DWORD,PCHAR,PCHAR,DWORD,DWORD))GetProcAddress(mpbusDLL,“MPUSBOpen”);
...
MPUSBOpen(…);
}
}
此C代码将加载您的库,然后尝试加载在DLL中实现的函数MPUSBOpen
。您将需要以相同的方式加载头文件中定义的其他函数(至少如果您想使用它们)。我在使用LoadLibrary函数时出错。”不一致的dll链接'。我的代码是HMODULE WINAPI LoadLibrary(u在LPCTSTR mpusbapi中);这是因为您试图声明一个Windows API函数。我仍然不知道您想要做什么,但是如果您可以使用WinAPI函数,那么就不要重新声明它们,而是为它们导入头文件。在这种情况下:
#包括
我想我应该给你更多的信息。。。我正在尝试创建一个线性针灸仪的自定义程序。我正在尝试使用的第6页上的说明创建此自定义程序。我是一个编程新手,但我的印象是,如果我链接提供的dll,我将能够使用提供的函数和控制值。@moesef:我编辑我的答案是为了给你一个例子。请在接下来的SO问题中提供更多信息;-)当然可以今晚有机会的时候我会试试看,现在让你知道它是如何运作的。非常感谢你的帮助!