设了个共享数据段:
#pragma data_seg("MyShareData")
static HINSTANCE m_hInstance=NULL;
#pragma data_seg()def里写了:
SETCTIONS 
MyShareData READ WRITE SHARED 
结果:
: warning LNK4017: SETCTIONS 语句不支持目标平台;已忽略
: warning LNK4017: MyShareData 语句不支持目标平台;已忽略
两警告,而且共享数据段没共享成功...问题在哪?

解决方案 »

  1.   

    #pragma data_seg("Shared") 
    int nData = 0; 
    #pragma data_seg() 
    #pragma comment(linker, "/SECTION:Shared,RWS") 可是在BCB中不能这样写 现在我不想把默认的数据段整个变成共享数据段 只想增加一个数据段,设置为rws属性。。请问如何实现 
    --------------------------------------------------------------- 用向导新建一个Unit.cpp,把共享数据段定义到其中,我早试成功过 ShareUnit.cpp 
    // 纯文本文件 test.def的内容如下: 
    // SEGMENTS   ShareSEG  CLASS  'ShareCLASS' SHARED #pragma option  -zRShareSEG     // 改变缺省数据段名 
    #pragma option  -zTShareCLASS   // 改变缺省数据类名 
    #pragma  hdrstop 
                //  以下都将是共享区内存变量 int    LoadCount=0;            // DLL装入次数计数 
    int    ShareVar=9; 
    在引用的单元里再声明一下: 
       extern int LoadCount; 
       extern int ShareVar;
      

  2.   

    #pragma comment(linker, "/SECTION:Shared,RWS") 
    网上找了下说有def文件的不能加在cpp里,dll的项目肯定自带def
    还有我用的是VS2008