如 2 个 进程调用 一 个 共享的 DLL ,共享的数据是 一指针的话,  A  进程 初始化了指针后,B进程 访问 指针 的 值 会 是 个 随机 数字。 是 不 是这个 需要 保存 A 调用时的 线程的上下 文,
 在 B 线程序 调用DLL后,如果访问 该指针 的时候 ,就 将保存的  A  调用 时候的上下文 进行 恢复,再访问 该指针 ?

解决方案 »

  1.   

    显示 声明 static  类型的 变量 或 函数  在dll   导出  时 会 有连接错误。
    是用  c  写的 ,定义的本来就是 全局的,
    同步可能没定义,但我认为 这个 不是主要 原因吧,我听说 DLL共享普通 的 变量可以,但指针不行, 但只是 不知道为什么。
      

  2.   

    是 定义了 共享 数据段的#pragma data_seg(".sharedata")
     long *g_pData;dll.def
      g_pData   DATA
    动态 加载
    A  分配  空间,设置 为 1,
    B 读取 的数据  不 对。  就是这个问题 。或者 通过 事件 回调 也是同样的问题。
      

  3.   

    如果不是共享的数据,dll会给每个调用的线程生成一个副本,所以才是随即值