多个进程调用同一个DLL文件,想在DLL中共享数据,可以使用共享段的方法.在DLL中的声明如下:

(1)在DLL中

#pragmadata_seg("ShareData")__declspec(dllexport)BYTEszKeyName[3]={};//变量须初始化#pragmadata_seg()#pragmacomment(linker,"/SECTION:ShareData,RWS")//***

也可在.def文件中声明代替***行

SETCTIONS

ShareData READWRITESHARED

(2)调用

在调用程序中声明如下:
__declspec(dllimport) BYTE szKeyName[3];

然后象普通变量一样调用,如:

voidCtest1Dlg::OnBnClickedButton5(){TRACE(_T("%d"),szKeyName[1]);}