什么时候应该在#include-once上使用#include?

时间:2018-08-03 06:59:01

标签: include autoit

根据AutoIt的在线参考:

  

在脚本中包含的多个文件中具有相同的“ #include”行是很常见的。如果多次包含同一文件,则很有可能会生成“复制函数”或“无法重新声明const”错误。因此,在编写打算用作包含文件的脚本时,请添加#include-once以防止该文件被多次包含。请注意,必须将#include-once行放置在脚本的顶部,并应放置在其他#include行的前面。

     

不建议在脚本中添加#include-once行,这些脚本不应用作其他脚本中的包含文件。

因此,#include-once不应在不打算包含在其他脚本中的脚本中使用。为什么?

如果使用#include-once的好处是防止重复的#include触发错误,那么使用#include而不是#include-once有什么好处?

1 个答案:

答案 0 :(得分:2)

  

“…使用#include#include-once有什么好处?

无;它们有不同的用途。

#include <filename.au3>包括filename.au3#include-once(无参数)可防止包含该指令的文件被多次包含。

如果两个不同的包含文件包含#include <FileConstants.au3>,而FileConstants.au3包含#include-once,则在包含第二个文件时不会再次添加FileConstants.au3(防止常量和函数)重新声明错误)。通常,每个要单独包含的文件都以#include-once开头。

  

所以#include-once不应在不打算包含在其他脚本中的脚本中使用。为什么?

没有任何目的。效果(如果有的话)被归类为未记录的行为(开发人员未曾预料到,并且可能会进行未经通知的更改)。