DLL设置共享变量要注意初始化。

#   pragma   data_seg( "shared ") 
变量定义并初始化 
#   pragma   data_seg() 

 

不能使用动态分配内存的类型,比如cstring,vector,list之类。

申明数组后要初始化,比如 int g_arrBlockPath[260] = {0};

 

可在dll的def文件中 申明共享节

SECTIONS
.SharedData READ WRITE SHARED

 

或者编译指令

 

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

在这里需要注意的是,比如控制web访问的spi。要清楚是浏览器先加载你的dll,还是你的程序加载,谁先加载,谁负责dll的内存分配,如果这个先加载的程序关闭了,前面设置dll中的变量就不会保存了。

posted @ 2011-12-27 12:19  陈英俊  阅读(284)  评论(0编辑  收藏  举报