1

随想录(exe和dll的相互调用)

 2 years ago
source link: https://feixiaoxing.blog.csdn.net/article/details/119963228
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

随想录(exe和dll的相互调用)

original.png
费晓行 2021-08-28 06:59:00 61
专栏收录该内容
217 篇文章 5 订阅

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

    有一种编程方法,就是需要在exe和dll之间进行相互调用。比如整个软件的功能都是比较简单的,大部分功能的实现依赖于插件的实现,那么这个时候就需要在exe和dll之间实现函数的相互调用。经过综合考虑,目前一般的处理方法是这样的,

1、exe-》dll

    exe调用dll其实比较简单的。因为在windows系统里面有默认的LoadLibrary函数,根据这个函数选择动态加载dll就可以了。比如有一个模块是a.dll,那么可以默认所有的初始化函数都是a_init,所有的结束函数都是a_close就可以了。

2、dll-》exe

    和linux不同,目前dll调用exe函数没有什么好办法。目前能想到的,就是在exe调用dll的时候,将自己的所有输出函数指针告诉dll,在调用dll中init函数的时候告诉dll模块。输出函数是一个指针集合,里面有普通函数指针,有static类函数指针。等dll拿到这些指针后,就可以在每次调用的时候,根据字符串,自己查找具体的函数指针,就可以了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK