下载此文档

DLL共享数据.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
进程在Windows中运行起来的时候,所用到的所有DLL会以内存映射的形式,或都叫做文件映射的形式映射到进程的地址空间中来,从而进程可以找到对应的DLL并且调用其中的方法,使用其中的资源。因为在不同进程中地址空间不同,所以共享数据段中不可以使用指针。++DLL工程:,内容如下:#include<>#include<>#include""void__stdcallSetData(LPSTRs);void__stdcallGetData(LPSTRs);可以看到这其中有两个方法,分别是我们用来存取数据的。可以在不同的进程中使用。那么数据存在哪里呢,这里就是真的的共享数据段放在哪里了。,其中如下的内容。#include""#pragmadata_seg(".MYSEC")charMySharedData[4096]={0};#pragmadata_seg()void__stdcallSetData(LPSTRs){strcpy(MySharedData,s);}void__stdcallGetData(LPSTRs){strcpy(s,MySharedData);}说明如下:#include""。void__stdcallSetData(LPSTRs){strcpy(MySharedData,s);}void__stdcallGetData(LPSTRs){strcpy(s,MySharedData);}这两个方法不用说就是我们用来存取数的真正方法了。那么可以看到数据是被保存在MySharedData这个数组中了。那么我们来看它的定义。#pragmadata_seg(".MYSEC")charMySharedData[4096]={0};#pragmadata_seg()定义没有什么好奇怪的,但是在定义的前后分别的点东西,这个很重要,这个啊就是用来说明这是一个数据段的。(".MYSEC")是这个数据段的标识,或者说是名字。这样是不是就可以了呢,还不行,这样定义之后,我们的数据只是在了一个自己段里,并没有什么其它的不同,如何让其成为一个共享的段呢,还要一点工作。要想设置其成为一个共享的段有两种方法:?加入def文件说明之:,其中内容如下:LIBRARY"SharedDll"SECTIONS.******@******@2说明:,就是来说明我们当前的段是一个共享的数据段的。下边:******@******@2是说当前的Dll会导出这两个方法到外边,共com调用。然后就是告诉编译器这个文件是我们的一个定义文件,做法,右键点击工程,打开属性,configura

DLL共享数据 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人tmm958758
  • 文件大小0 KB
  • 时间2016-01-28
最近更新