Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ 在Visual C+中使用提供的dll+;项目_Visual C++_Dll - Fatal编程技术网

Visual c++ 在Visual C+中使用提供的dll+;项目

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

我刚买了一个带有dll文件的设备。我想用Visual C++来编程这个设备。如何将.dll文件加载到我的项目中?

A是一个库文件,它包含编译后的程序逻辑,就像EXE一样。您不能单独执行它,但与EXE文件一样,您也不能将其“加载”到项目中

您需要使用函数来加载库,然后查找要调用的函数


编辑:

在评论中澄清问题后,您试图编写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问题中提供更多信息;-)当然可以今晚有机会的时候我会试试看,现在让你知道它是如何运作的。非常感谢你的帮助!