可以使用动态加载或静态加载的方式使用DLL中的方法,但是怎么能够获取DLL中定义的变量来使用它呢?
5条回答 默认 最新
lyhoo163 2015-08-19 09:57关注要明确2个概念:
1、Dll是EXE的一个变种形态。它是可执行的。
2、Dll虽然由EXE调用,但执行读入内存后,Dll与EXE分别是独立的内存区域,相互不联系的。二者的数据(变量等)不能传递的。为了能让Dll是EXE通联,往往可以通过以下几种方式建立联系。
1、发消息,它是单相思,消息发出后,对方知道否,接受了吗,不得而知。
2、通过磁盘文件传递,数据分别写入一个磁盘文件中,数据结构自己可以定。但它有局限性,不能及时获取。
3、共用内存,即在将EXE文件的变量,在内存中的地址,传递给Dll,实现共享此内存地址(变量),这是最好的方式,如同全局变量使用。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报