本人的程序加载dll文件,用动态加载的方式,有可能一个函数被调用多次。本人不想在每个本人的函数里面都声明一次,能不能把全部的dll的函数都声明出来,然后调用。
解决方案
10
保存函数指针,之后不用再动态获取
5
头文件就是干这个用的。
5
typedef int(*dllFunNameXXX)();
dllFunNameXXX globalFunPtr = NULL;
int sampleFunc()
{
if (globalFunPtr)
{
globalFunPtr();
}
}
int main(int argc, char** argv)
{
HINSTANCE hDllInst = LoadLibrary("dllDemo.dll");
globalFunPtr = (dllFunNameXXX)GetProcAddress(hDllInst, "dllFunNameXXX");
if (globalFunPtr)
{
globalFunPtr();
}
FreeLibrary(hDllInst);
return 0;
}
5
建一个类,头文件中定义函数指针,cpp中获取到函数,然后你想调函数直接用这个类就行了