MetaTrader 4 Build 529测试版发布,带有新的编译器 - 页 33

 
Barbarian:

顺便说一下,有几个帖子已经用UAC这件事戳中了我的痛处。为了记录在案,来自微软的帮助。

只要你禁用UAC并坐在管理员之下,你个人就不会看到问题。但我们是这样做的,因为我们已经安装了数百万个终端,由于权限限制,它们已经出现了问题。

当你开始在世界各地分发你的软件时,了解现在允许程序在哪里以及如何向Windows写入的问题就会出现在你面前。

目录名称中的哈希值不会被改变--所有这些在MT5中都是类似的工作。我们特意让两个平台尽可能地保持统一。

 
Renat:

只要你坐在禁用UAC的状态下,在管理员的领导下,你个人就不会看到任何问题。但我们是这样做的,因为我们已经安装了数以百万计的终端,由于权限限制,这些终端已经出现了问题。

当你开始在世界各地分发你的软件时,了解现在允许程序在哪里以及如何向Windows写入的问题就会出现在你面前。

目录名称中的哈希值将不会被改变--这一切对MT5来说都是一样的。我们特意让两个平台尽可能地保持统一。

我明白了,谢谢你

是否有可能使本地和共享文件夹和文件同时被访问?我的意思是让我在导航器中既能看到本地文件夹和文件,也能看到共享的文件。这样,在编译后,可执行文件与源文件放在同一个文件夹中,终端可以看到它们。然后,终端用户实际上不需要知道该文件在哪里,他们的终端看到这些文件并使用它们,而程序员知道源文件在哪里并很容易使用它们,尽管它们在物理上位于共享文件夹和本地文件夹。然后,对于每个终端,将有可能创建 "不同的顺序"--有些东西在终端的 本地文件夹中,只有那些拥有这些文件的终端可以看到它,有些东西在共享文件夹中--这些文件可以被所有终端同时看到。另一方面,ME看到了共享文件夹和本地文件夹,在他的导航器中可以简单地打开,但在编译时它会把可执行文件放在源文件的文件夹中。

???

 

artmedia70:

....

另一方面,ME可以看到共享文件夹和本地文件夹,在它的导航器中可以简单地打开这些文件夹, 但在编译时它会把可执行文件放在源文件夹中。

这就是终端版本可能存在的问题所在。 最好根据情况配置目标位置。

或者(我会这样做)在编译时在文件名中加入编译器版本的后缀。 像MACross.b509.ex4 是的,名字被拉长了,但它的信息量很大,非常普遍地解决了终端的版本问题。

 

artmedia70:

...所以不要欺负人。好吗?

你得到了它。:)
 
MetaDriver:

这只是终端的版本可能存在的问题。 最好是根据情况来设定目标地点。

或者(我会这样做)在编译时在文件名中加入编译器版本的后缀。 像MACross.b509.ex4是的,名字被拉长了,但它的信息量很大,非常普遍地解决了终端的版本问题。

保留多个版本的终端已经很成问题了--更新其中一个版本后,它们都会自行更新。

我认为不值得在此基础上进行建设。

但为源代码建立一个共同的文件夹会很有用,特别是考虑到#ifdef和编写通用(4-5)库的可能性。

 
MetaDriver:
交易。:)

成交;)
 

现在,如果有未使用的函数,编译器不会给出警告说有这些函数,并将被排除在可执行文件之外。会一直这样下去吗?

现在有了关于未使用变量的警告(顺便说一下,非常方便,谢谢)。

 
artmedia70:

现在,如果有未使用的函数,编译器不会给出警告说有这些函数,并将被排除在可执行文件之外。会一直这样吗?

是的,会的。

鉴于图书馆的 积极使用,你不能再发出这样的信息。因此,许多功能可能没有被使用。当然,所有未使用的功能都被删除。

 
komposter:

保留多个版本的终端已经很成问题了--更新其中一个版本后,它们都会自行更新。

我认为我们不应该指望这个。

我没有想到要用它来做典当。 只是案例不同。 例如,beta测试...:)


但是一个共享的源文件夹会很有用,特别是考虑到#ifdef和编写通用(4-5)库的可能性。

嗯,是的。 一个非常合理的功能发展的延续。
 

然而,在程序执行 过程中,已经不可能再改变原来分配给它们的外部变量的值了,是吗?

这不是很方便。我必须再创造一个...

原因: