c++ - #pragma once 在不同的操作系统上工作吗?
c++ - Does #pragma once work on different Operating Systems?
在 C++ 11 中,#pragma once 不是标准的一部分,但它得到了广泛支持。以下维基百科 link 表示大多数主要编译器(GCC、Clang 等)都支持它:
https://en.wikipedia.org/wiki/Pragma_once
我的电脑是 64 位 Windows 机器。使用我的编译器 (GCC),#pragma once 编译。我的问题是 #pragma once 是否也适用于其他主要操作系统(Apple、Linux 和 Android),因为使用的是相同的编译器。
我确定每个 OS 都有例外,但我只是想知道 #pragma once 是否适用于每个 OS 的标准计算机。
pragma 依赖于编译器,如果您使用支持的编译器,它将起作用。
但目前,通常的建议是将 "pragma once" 与 headers 守卫一起使用。
这种方式确保只包含一次文件,如果 pragma 有效,编译时间将得到改善。
在 C++ 11 中,#pragma once 不是标准的一部分,但它得到了广泛支持。以下维基百科 link 表示大多数主要编译器(GCC、Clang 等)都支持它:
https://en.wikipedia.org/wiki/Pragma_once
我的电脑是 64 位 Windows 机器。使用我的编译器 (GCC),#pragma once 编译。我的问题是 #pragma once 是否也适用于其他主要操作系统(Apple、Linux 和 Android),因为使用的是相同的编译器。
我确定每个 OS 都有例外,但我只是想知道 #pragma once 是否适用于每个 OS 的标准计算机。
pragma 依赖于编译器,如果您使用支持的编译器,它将起作用。
但目前,通常的建议是将 "pragma once" 与 headers 守卫一起使用。
这种方式确保只包含一次文件,如果 pragma 有效,编译时间将得到改善。