本人的程序加载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中获取到函数,然后你想调函数直接用这个类就行了