在 dll 里使用了回调函数在回调函数中使用当前的全局变量是无效的,建立内存映象文件的方法可以,请问除了这个还有其它方法吗?

解决方案 »

  1.   

    全局原子、读写注册表或文件、声明一个共享数据段(适合 WIN9X)、套接字、管道、远程过程调用等技术。内存映像文件是最简单有效、实用的方法
      

  2.   

    楼上的方法都可以,如果全局变量比较多的话处理比较麻烦,可以考虑下面的处理。
    如果是在动态库中访问上层应用或其它动态库定义的全局变量,可以考虑把这些全局变量放在BPL中,在应用或动态库编译时加上这个运行时包编译即可。
      

  3.   

    调用自身的全局变量。如果这个 dll 是由一个服务程序调用的,使用内存映像时会使其它程序崩溃?