根据AutoIt的在线参考:
在脚本中包含的多个文件中具有相同的“ #include”行是很常见的。如果多次包含同一文件,则很有可能会生成“复制函数”或“无法重新声明const”错误。因此,在编写打算用作包含文件的脚本时,请添加#include-once以防止该文件被多次包含。请注意,必须将#include-once行放置在脚本的顶部,并应放置在其他#include行的前面。
不建议在脚本中添加#include-once行,这些脚本不应用作其他脚本中的包含文件。
因此,#include-once
不应在不打算包含在其他脚本中的脚本中使用。为什么?
如果使用#include-once
的好处是防止重复的#include
触发错误,那么使用#include
而不是#include-once
有什么好处?>
答案 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
不应在不打算包含在其他脚本中的脚本中使用。为什么?”
没有任何目的。效果(如果有的话)被归类为未记录的行为(开发人员未曾预料到,并且可能会进行未经通知的更改)。