如何在sdk程序中调用dll文件中的函数
答案:2 悬赏:30 手机版
解决时间 2021-02-10 22:36
- 提问者网友:孤山下
- 2021-02-10 00:25
如何在sdk程序中调用dll文件中的函数
最佳答案
- 五星知识达人网友:人间朝暮
- 2021-02-10 00:31
静态使用DLL:
#pragma comment(lib, "dllfile.lib") // 或者把dllfile.lib加到工程文件中。
然后就可以直接调用tf,注意包含dll中定义该函数的头文件,或者保证二者的函数定义完全一致。
动态调用:
注意tf的输出符号,如果没有指定extern "C",输出的符号会有修饰字符。函数的输出符号可以用VC6工具depends.exe看到:
HMODULE hDll = LoadLibrary(TEXT("dllfile.dll")); // dllfile.dll 必须在程序本身的目录下,或者在环境变量PATH指名的系统路径下。
int (*ptf)(int); // 定义函数指针
ptf = GetProcAddress(hDll, TEXT("tf")); // 如果函数定义前有extern "C",函数的输出符号就是tf,其他情况,以depends.exe中看到的为准。
ptf(5); //调用寒暑,(*ptf)(5);也正确
#pragma comment(lib, "dllfile.lib") // 或者把dllfile.lib加到工程文件中。
然后就可以直接调用tf,注意包含dll中定义该函数的头文件,或者保证二者的函数定义完全一致。
动态调用:
注意tf的输出符号,如果没有指定extern "C",输出的符号会有修饰字符。函数的输出符号可以用VC6工具depends.exe看到:
HMODULE hDll = LoadLibrary(TEXT("dllfile.dll")); // dllfile.dll 必须在程序本身的目录下,或者在环境变量PATH指名的系统路径下。
int (*ptf)(int); // 定义函数指针
ptf = GetProcAddress(hDll, TEXT("tf")); // 如果函数定义前有extern "C",函数的输出符号就是tf,其他情况,以depends.exe中看到的为准。
ptf(5); //调用寒暑,(*ptf)(5);也正确
全部回答
- 1楼网友:神的生死簿
- 2021-02-10 01:50
期待看到有用的回答!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯