C++和matlab混合编程调用dll时出错
写一个小程序想调取C++的dll库,按照网上步骤进行,但是却出现问题,说未在库中找到函数,萌新一只,还望大佬们解答
非常感激
C++程序如下
调用dll,第一种方法是用编译预处理指定要链接的函数库文件 *.lib
比如说你要链接的库文件叫 a.lib
#pragma comment(lib,"a.lib") //如果a.lib 不在当前目录下,要指定目录
如果你不知道该链接哪个lib,就用windows apiLoadLibraryA 和 GetProcAddress
HMODULE module = LoadLibraryA("user32.dll");
if(module != 0)
{
typedef int (WINAPI *FunMsgBox)(HWND,LPCSTR,LPCSTR,UINT);
FunMsgBox fun = (FunMsgBox)GetProcAddress(module,"MessageBoxA");
fun(0,"Hello,world",0,MB_OK);
}
_declspec(dllexport)是导出函数,这是写 dll 时候用的。
如果要调用dll ,应该是_declspec(dllimport) ,只要声明就行了,不要写函数体。
页:
[1]