ZHCU820Y September 2004 – June 2021
once pragma 指示如果已包含该头文件,则 C 预处理程序要忽略 #include 指令。例如,如果头文件包含结构定义等定义,并且这些定义执行超过一次时会导致编译错误,则可以使用此 pragma。
此 pragma 应该用在只应包含一次的头文件的开头部分。例如:
// hdr.h
#pragma once
#warn You will only see this message one time
struct foo
{
int member;
};
此 pragma 不是 C 或 C++ 标准的一部分,但它在预处理指令中广泛受到支持。请注意,此 pragma 不能防止包含已复制到其他目录且包含相同内容的头文件。