请教高手:如何用DELPHI在exe(或DLL)文件中创建一个被多个实例共享的节? DELPHI在exe(或DLL)中的共享只是代码共享,不可能实现数据共享,我不明白你的‘节’指的是什么,但如果你的意思是A写的东西,B可以读出来这样的问题的话,dll作不到,能通过消息传送数据,或最好的办法就是内存映射。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 上面的仁兄,在DLL中数据共享是可以的,每个. e x e或D L L文件的映像都由许多节组成。按照规定,每个标准节的名字均以圆点开头。例如,当编译你的程序时,编译器会将所有代码放入一个名叫. t e x t的节中。该编译器还将所有未经初始化的数据放入一个. b s s节,而已经初始化的所有数据则放入. d a t a节中,在VC中可以使用编译指令产生一个新的共享的节.而在delphi中没有找到类似的方法。从DELPHI编译时产生的MAP文件看只有3个节,也就是上面看到的3个。 共享节是不不被推荐的,所有的可执行映像的代码节都是共享的,只有一个副本,但是,如果往这个节中写入数据,那么就会产生新的副本。数据节都不是共享的,在老的操作系统中,全局堆栈是共享的,那么可以指定一个堆栈段,用于共享,但是这已经是没有意义的了,因为没有堆栈是共享的了。实现数据共享,就是使用文件映射(FileMap),实际上所有的可执行文件,DLL,都是使用文件映射机制调入的。 共享节是不不被推荐的,所有的可执行映像的代码节都是共享的,只有一个副本,但是,如果往这个节中写入数据,那么就会产生新的副本。数据节都不是共享的,在老的操作系统中,全局堆栈是共享的,那么可以指定一个堆栈段,用于共享,但是这已经是没有意义的了,因为没有堆栈是共享的了。实现数据共享,就是使用文件映射(FileMap),实际上所有的可执行文件,DLL,都是使用文件映射机制调入的。 虽然共享节是不不被推荐的,但是它还是有一定用处的,比如,可以通过数据共享的方式可以得到运行实例的个数,另外在全局HOOK时使用共享节非常方便,内存映射文件当然也可以实现,但是......嘿嘿,就是感觉不爽! delphi7 Richedit 颜色是不是有BUG 怎么判断父类接口是否是实现了子类接口 如何查询某一时间段内的数据 用VFP做后台的数据库,DElPHi中怎么样用SQL语句来查询日期型的字段呢??急等啊!!! 筛选出SQL数据库中,一段时间内的记录 ComboBox下拉其列表框(ListBox) 懂汇编的朋友请过来(搞定送500分) 各位朋友,又要打扰大家了,关于delphi的问题 怎样调用一个外部程序 一个PCHAR数组如何转成字符串型?谢谢! 怎样恢复被不良交友站点搞乱的IE参数? 怎样配置三层交换机(100¥),解决问题后在送上100大洋
例如,当编译你的程序时,编译器会将所有代码放入一个名叫. t e x t的节中。该编译器还将所有未经初始化的数据放入一个. b s s节,而已经初始化的所有数据则放入. d a t a节中,在VC中可以使用编译指令产生一个新的共享的节.而在delphi中没有找到类似的方法。从DELPHI编译时产生的MAP文件看只有3个节,也就是上面看到的3个。
实现数据共享,就是使用文件映射(FileMap),实际上所有的可执行文件,DLL,都是使用文件映射机制调入的。
实现数据共享,就是使用文件映射(FileMap),实际上所有的可执行文件,DLL,都是使用文件映射机制调入的。