我在DLL中加入
#pragma data_seg("dataseg")
DWORD abc;
#pragma data_seg()在DEF文件中加入
SETCTIONS dataseg READ WRITE SHARED 为什么会编译不通过??

解决方案 »

  1.   

    共享数据一定要付初值,建议改为:
    #pragma data_seg("dataseg")
    DWORD abc = NULL;
    #pragma data_seg()
      

  2.   

    does your shared dll work?要在你的dataseg前面加一个 “.”
      

  3.   

    上面的方法也不行。.\aaa.def : warning LNK4017: SETCTIONS statement not supported for the target platform; ignored
    .\aaa.def : warning LNK4017: dataseg statement not supported for the target platform; ignored
      

  4.   

    这里有个例子:
    LIBRARY      "***"////////////你要导出的dll的名字
    DESCRIPTION  '*** Windows Dynamic Link Library'////////////该dll描述EXPORTS
    ; Explicit exports can go here//////////////导出函数列在这里
    SECTIONS ///////////////数据区属性
    mydata READ WRITE SHARED////////////定义mydata数据区为可读可写并共享
      

  5.   

    编译信息是:Linking...
       Creating library Release/aaa.lib and object Release/aaa.exp
    LINK : warning LNK4039: section "shared" specified with /SECTION option does not exist
      

  6.   

    #pragma data_seg("dataseg")
    DWORD abc=NULL;
    #pragma data_seg()
    # pragma comment(linker,"/section:dataseg,rws")
      

  7.   

    “在DEF文件中加入
    SETCTIONS dataseg READ WRITE SHARED ”
    应该是:SECTIONS