c语言main函数_(c语言),在main函数加载dll的函数,怎么在另一个函数里使用
建一个main()函数,再建一个aaa()函数,在main函数里LoadLibrary DLL里的函数sss(),
怎么在aaa()里也能使用?想在aaa()函数里使用DLL里的函数sss(),要重新LoadLibrary DLL吗?
补充:不知道金币有什么用,这是我全部金币最佳答案
这个有多个方法的,最简单的是义一个全局的指向函数的指针,在main中用LoadLibrary及GetProcAddress得到函数sss()的地址,然后就可以在aaa()中直接调用sss()了
给你个EX:
#include <windows.h>
#include<stdio.h>
void (* p)(); //一个全局的指针,注意我的例子是没有参数的
void aaa()
{
p(); //这里就是执行sss()函数的
}
int main()
{
HINSTANCE h;
h = LoadLibrary("test.dll") ; //当前目录下test.dll必须存在
p =( void (*)())GetProcAddress(h, "sss"); //dll中必须存在sss()函数
aaa(); //调用aaa()
return 0;
}
追问:
谢谢,在man里要使用aaa(),好像还要声明aaa(),我去试试看,
其他回答
暂无其它回答!