dll和exe的共享节------多进程共享dll/exe全局变量
首页 > 个人笔记    作者:webbaozi   2017年11月17日 16:52 星期五   热度:1306°   百度已收录  
时间:2017-11-17 16:52   热度:1306° 
测试一个软件时,软件会多次调用同一dll,但是只想软件启动只调用一次自定义函数
可以使用共享节来处理:
#pragma data_seg("Shared")  
int g_data = 0; 
#pragma data_seg()  
#pragma comment(linker,"/section:Shared,rws") 

我们也可以定义自己的共享节:
#pragma data_seg("Shared")  
int g_data=0;  
#pragma data_seg()

这里就定义了一个叫做:“Shared”的共享节,在该共享节中有一个初始化了的变量g_data,注意:不要以为放在这里面就以为一定在这个共享节中,如果你没有初始化这个变量的话,那么这个变量还是放在默认的未初始化的共享节中。这样还不能达到我们共享变量的目的。我们还必须告诉链接程序,这个节里面的变量是要共享的。

/SECTION:Shared,RWS。这是在你的工程--设置---链接中配的。我们还可以在你的程序中直接设置:

#pragma comment(linker,"/section:Shared,rws")

然后在第一次调用重新赋值



(坑:程序频繁调用dll会导致程序出现崩溃,所以还是不建议如此,就当做个笔记!)

 转自:http://blog.csdn.net/pi9nc/article/details/23164197



二维码加载中...
本文作者:webbaozi      文章标题: dll和exe的共享节------多进程共享dll/exe全局变量
本文地址:http://www.webbaozi.com/grbj/87.html
版权声明:若无注明,本文皆为“baozi|学与用”原创,转载请保留文章出处。
跨境电商平台2017-11-26 00:33
的文章写得很用心,受教了!谢谢

返回顶部    首页    手机版本   
版权所有:baozi|学与用    站长: webbaozi  蜀ICP备16032848号-1