放牧代码和思想
专注自然语言处理、机器学习算法

VC++:进程间共享数据

方法之一:#pragma data_seg() 格式:    #pragma data_seg("自己的数据段名")      int g_ValueA = -1; // 全局变量,要赋值    #pragma data_seg() 说明:    1.以全局变量来定义,即函体之外;    2.必需初始化,否则微软编译器会把未初始化的变量放到.BSS段中;    3.在Linker的Command Line内添/SECTION:自己的数据段名,参数;     具体描述:      某工程名Property Pages->Linker->Command Line->      Additional Options->/SECTION:自己的数据段名,RWS     参数说明:      R为允许读,W为允许写,S为允许共享 方法之二:不用在IDE的Linker里设置了,用#pragma comment(linker,"/section:MyData,rws")代替 #pragma comment(linker,"/section:MyData,rws")
#pragma data_seg("MyData")
int g_iProNum = -1;
#pragma data_seg() 方法之三:用“工程名.def文件”来说明共享数据变量 1.在CPP文件中定义变量 #pragma data_seg("MyData")
int g_iProNum = -1;
#pragma data_seg() 2.在*.def文件中说明变量的属性 SECTIONS MyData READ WRITE SHARED  3.在Linker的Command Line内添/DEF:"*.def的路径";  具体描述:(EXE程序要加这第三步)   某工程名Property Pages->Linker->Command Line->       Additional Options->/DEF:".TShareDataSeg.def"调用方法: 如一: g_iProNum++;  如二: // 读取共享数据段里的变量
CString strTmp; strTmp.Format("%d", g_iProNum); AfxMessageBox(strTmp);

知识共享许可协议 知识共享署名-非商业性使用-相同方式共享码农场 » VC++:进程间共享数据

分享到:更多 ()

评论 欢迎留言

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

我的开源项目

HanLP自然语言处理包基于DoubleArrayTrie的Aho Corasick自动机