c语言main函数_(c语言),在main函数加载dll的函数,怎么在另一个函数里使用

原问题:(c语言),在main函数加载dll的函数,怎么在另一个函数里使用
分类:编程开发 > 最后更新时间:【2016-12-16 22:34:03】
问题补充:

建一个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(),我去试试看,
    最佳答案由网友  whoami1978  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    3

    分享到:

    其他回答

    暂无其它回答!

      推荐