有一个DLL CRD.DLL;里有三个函数INT DR_READ();INT DR_WRITE();
在.h里输入,
typedef int(*DR_READ)(void); //请问这句什么含义,能说的具体点吗?
typedef int(*DR_WRITE)(void);//我只是了解typedef a b这样简单的含义
……
HINSTANCE gLibAngel;
DR_READ Dr_Read;
DR_WRITE Dr_Write;
……
在CPP中加入如下代码:
gLibAngel = NULL;
gLibAngel = LoadLibrary("CRD.dll");//载入动态库
Dr_Read = (DR_READ)GetProcAddress(gLibAngel, "DR_READ");
Dr_Write = (DR_WRITE)GetProcAddress(gLibAngel, "DR_WRITE");
在.h里输入,
typedef int(*DR_READ)(void); //请问这句什么含义,能说的具体点吗?
typedef int(*DR_WRITE)(void);//我只是了解typedef a b这样简单的含义
……
HINSTANCE gLibAngel;
DR_READ Dr_Read;
DR_WRITE Dr_Write;
……
在CPP中加入如下代码:
gLibAngel = NULL;
gLibAngel = LoadLibrary("CRD.dll");//载入动态库
Dr_Read = (DR_READ)GetProcAddress(gLibAngel, "DR_READ");
Dr_Write = (DR_WRITE)GetProcAddress(gLibAngel, "DR_WRITE");
定义了函数指针类型,该类型指针所指向的函数返回值类型为int,参数表为void.
DR_READ Dr_Read;
DR_WRITE Dr_Write;
这两个就是函数指针变量了.
实际上,无需再定义DR_WRITE,因为这个类型和DR_READ是一样的.
然后创建指向函数的指针变量。
然后打开dll
从dll里边获得相应的函数指针
调用函数