我正在尝试通过称为Motor-Bee的设备并使用C++来控制电机。
这是我正在使用的代码:
#include <iostream.h>
#include <mt.h>
#include <windows.h>
#pragma hdrstop
int _tmain(int argc, _TCHAR* argv[])
{
HINSTANCE HStpDll; // declaration of variable to hold the handle to the dll
HStpDll = LoadLibrary( _T("mtb.dll")); // load the dll into memory and return handle
Type_InitMotoBee InitMotoBee;
Type_SetMotors SetMotors;
InitMotoBee = (Type_InitMotoBee)GetProcAddress( HStpDll, " InitMotoBee");
SetMotors =(Type_SetMotors)GetProcAddress(HStpDll, " SetMotors");
InitMotoBee();
SetMotors(0, 50, 0, 0, 0, 0, 0, 0, 0);
return 0;
}
mt.h和mtb.dll是设备随附的文件。
当我尝试运行该程序时,我只得到一个弹出框,说:
包含有关C++函数信息的PDF手册可以be found here。
谁能告诉我我在做什么错?或者,当然,如果可能的话,该如何解决。
最佳答案
您在GetProcAddress()
调用中的函数名称之前有空格,这似乎是非常错误的。
另外,在使用返回的指针之前,您无需对其有效性进行检查,这就是为什么查找失败时崩溃的原因。
关于c++ - Motorbee代码C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18274281/