多个进程调用同一个DLL文件,想在DLL中共享数据,可以使用共享段的方法.在DLL中的声明如下:
目前成都创新互联已为超过千家的企业提供了网站建设、域名、网页空间、成都网站托管、企业网站设计、宁江网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
(1)在DLL中
#pragma data_seg("ShareData") __declspec(dllexport) BYTE szKeyName[3] = {};//变量须初始化 #pragma data_seg() #pragma comment(linker, "/SECTION:ShareData,RWS")//***
也可在.def文件中声明代替***行
SETCTIONS
ShareData READ WRITE SHARED
(2)调用
在调用程序中声明如下:
__declspec(dllimport) BYTE szKeyName[3];
然后象普通变量一样调用,如:
void Ctest1Dlg::OnBnClickedButton5() { TRACE(_T("%d"),szKeyName[1] ); }