工控编程吧

标题: 上位机MFC如何在DLL中共享数据 [打印本页]

作者: qq263946146    时间: 2019-8-13 11:27
标题: 上位机MFC如何在DLL中共享数据
首先在DLL工程中,我们定义一个共享数据nCount #pragma data_seg(".SharedData")
int nCount = 0;
#pragma data_seg()

然后在DLL入口函数内处理参数ul_reason_for_call,具体如下
BOOL APIENTRY DllMain( HANDLE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                                         )
{
    switch (ul_reason_for_call)
        {
                case DLL_PROCESS_ATTACH:
                        nCount++;
                        break;
                case DLL_PROCESS_DETACH:
                        nCount--;
                        break;

                default:
                        break;
    }

    return TRUE;
}

最后我们准备一个函数供外部调用,就可以通过nCount知道有多少程序调用了动态库了。
  1. int GetCount()
  2. {
  3. return nCount;
  4. }
复制代码


函数导出文件def内容如下
EXPORTS
        GetCount

SECTIONS
        .SharedData SHARED
(, 下载次数: 2)