如何在Windows下实现动态链接库(DLL)共享数据段

   《 程序员的自我修养》一书9.1.3节中描述了DLL共享数据段的功能和原理,本人通过上网搜索并编写测试程序,找到了实现方法,现简述如下:

    1. 在DLL实现文件(.c, .cpp)中定义自定义数据段,并指定其读写和共享权限,具体如下:

#pragma data_seg (".myseg")
SHAREDATADLL_API int g_nCount = 0; 
SHAREDATADLL_API unsigned char g_pBuff[256] = "aaaaaaaaaa";
#pragma data_seg()

#pragma comment(linker,"/section:.myseg,rws")

    其中myseg是自定义数据段的名称,g_nCount和g_pBuff共享的变量,rws表示此自定义数据段具有读、写及共享权限(关键)。

     2. 在DLL头文件(.h)中导出上述共享变量

extern SHAREDATADLL_API int g_nCount; 
extern SHAREDATADLL_API unsigned char g_pBuff[256];


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值