C++Builder编写dll时如何添加共享数据段

本文提供了一个使用共享内存技术的DLL示例项目,通过定义共享结构体和字符数组实现跨进程数据交换。示例中包括了DLL入口点函数、设置和获取共享数据的函数,并详细展示了相关文件的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

yesry   (噎死你) 一星用户 该版得分小于等于10000分,大于5000分  回复于 2003-10-24 11:56:55  得分 0

整理后:  
  工程的名字ShareMemory  
   
  //-++-+-+--+-文件uShareMemory.cpp  
  //---------------------------------------------------------------------------  
  #include   <vcl.h>  
  #include   <windows.h>  
  #pragma   hdrstop  
  #include   "SharedUnit.h"  
  #pragma   argsused  
   
  extern   int   Data;  
  extern   struct   test   t;  
  extern   char   buff[100];  
   
  int   WINAPI   DllEntryPoint(HINSTANCE   hinst,   unsigned   long   reason,   void*   lpReserved)  
  {  
          strcpy(t.sb,"ffff");//不知道为什么无用的也做一做  
          return   1;  
  }  
  //---------------------------------------------------------------------------  
   
  #define   DLL_EXPORT   extern   "C"   __declspec(dllexport)  
   
  DLL_EXPORT  
  void   WINAPI   SetData(char   *p)  
  {  
      strcpy(buff,p);  
  }  
   
  DLL_EXPORT  
  void   WINAPI   GetData(char   *p)  
  {  
      strcpy(p,buff);  
  }  
   
  //-++-+-+--+-文件ShareUnit.h  
  #include   <vcl.h>  
  struct   test  
  {  
          int   age;  
          int   xy;  
          char   *sb;  
  };  
   
   
   
  //-++-+-+--+-文件ShareUnit.cpp  
  #pragma   option   -zRSHSEG  
  #pragma   option   -zTSHCLASS  
  #include   "SharedUnit.h"      
   
  int   Data   =   0;  
  test   t={120,10,"asdg"};//必须的,不管你用不用  
  char   buff[100];  
   
   
   
  //-++-+-+--+-文件ShareMemory.def  
  SEGMENTS     SHSEG   CLASS   'SHCLASS'   SHARED   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值