以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  DLL共享全局变量问题  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=10636)

--  作者:adam_wang
--  发布时间:2012/3/19 17:00:05
--  DLL共享全局变量问题

请教:在序列模式下,不同的公式调用同一个DLL中的不同函数,这些函数之间能否通过全局变量来共享?

举个例子,test.dll中有三个金字塔公式调用的函数,分别为A、B、C,test.dll中有定义全局变量var,

公式X调用test.dll中的A函数,公式Y调用test.dll中的B函数,公式Z调用test.dll中的C函数,

那么,全局变量var是否可以在A、B、C三个函数中共享使用?


--  作者:王锋
--  发布时间:2012/3/19 17:11:13
--  

工具-》选项-》勾选“DLL公式加载驻留内存模式”即可共享


--  作者:adam_wang
--  发布时间:2012/3/19 17:19:26
--  
试过,但有时能共享,有时又不能,不知是何原因?
--  作者:王锋
--  发布时间:2012/3/19 17:24:16
--  

应该是都可以的,建议你将全局变量加上线程锁,参考C++编程的 临界区


--  作者:adam_wang
--  发布时间:2012/3/19 22:46:01
--  

请教:多个金字塔公式加载到同一个画面上,每个公式是串行执行的还是并行执行的?

继续以上面的例子说明,公式X、公式Y、公式Z同时加载到一个画面上,执行是串行还是并行?


--  作者:王锋
--  发布时间:2012/3/19 23:58:35
--  

如果是一个主图下的副图,是串行工作。

如果你分别加载到不同的主图下的副图,那么是并行,即启用了多核CPU


--  作者:dnt00193
--  发布时间:2013/4/4 22:11:39
--  
 顶下关于全局变量的说明