错误、漏洞、问题 - 页 2568

 
Artyom Trishkin:

(条件1和(条件2或条件3))

谢谢你

 
Aleksandr Goryachev:

谢谢你

有趣的是,代码说的是完全一样的事情。

 
Artyom Trishkin:

有趣的是,代码说的是完全一样的事情。

我只是想澄清一下,我想知道...

 

从某些构建开始,一个函数不再从库中导出(未解决的导入)。

typedef void (*pOnBookEvent)(const string &symbol);

void OrderBook_Init(pOnBookEvent ptr, const string folder, const bool common, const int offset) export

这是由于一个由typedef定义的参数造成的。如果它被移除,出口开始工作。MQ是如何改变的,改变了什么?可能是关于类型定义的东西?事实证明,在上一次构建库时,参数的签名是一个,但在新构建中编译使用该库的EA时,签名是不同的。

要说明的是,这种变化发生在2007年和2085年的构建期间。在发行说明中搜索,没有得到答案。

 
Vict:

0x20

在这个例子中,是否可以做这样的事情?
也就是说,用一个空值初始化一个数字char数组,而不是0。

char Arr[];
ArrayResize(Arr, 5);
ArrayInitialize(Arr, '\0');
   
for(int i=0; i<5; i++)
   Print(Arr[i]);
 
Roman:

在这个例子中,是否可以做这样的事情?
也就是说,用一个空值初始化一个数字char数组,而不是0。

我不明白为什么不可以
 
Vict:
我没有看到任何障碍。

有一个障碍。

ArrayInitialize(Arr, ' ');

初始化的数字为32
根据我的理解,除了'\0'之外,没有一个char字符的空值。
但这个char用0来初始化数组
问题是,是否可以用一个空值来初始化,而不是零。

 
Roman:

有一个障碍。

初始化的数字为32
据我所知,除了'\0'之外,没有char字符的空值。
但这个char用0来初始化数组
问题是,是否可以用一个空值来初始化,而不是零。

看。当你声明数组char a[100]时,物理上意味着100个字节被分配到堆栈上,就是这样,它们在那里,它们的值从0x0到0xff。
 
Vladimir Simakov:
看。当你声明char a[100]数组时,物理上意味着在堆栈上分配了100个字节,就是这样,它们在那里,它们的值从0x0到0xff。

是的,而且它含有垃圾。

char a[100];
   
for(int i=0; i<100; i++)
   Print(a[i]);

这个问题是完全不同的。要用一个空值来初始化它,而不是零。如果这样的事情是可能的。
零是一个数字!按照我的理解是一个空值,没有数字,什么都没有。
但存储单元的初始化是以这种空洞的方式进行的 ))

 

2019年9月17日的MT5 Build 2145。

当测试器启动时,它会自动禁用本地网络代理集群。如果它被强行打开,在下一次启动测试仪时,它会再次强行关闭。

对拖了半年的问题感到非常厌烦,突然有一半的代理人不再接受这份工作,你不得不强迫他们离开,又重新开始。

现在我不得不在测试器每次启动时打开本地代理。