Mingw 4.8.2 是否支持'#pragma once'

Does Mingw 4.8.2 support ' #pragma once'

我目前有以下mingw

gcc --version
gcc (x86_64-win32-seh-rev3, Built by MinGW-W64 project) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

我的问题是 Mingw 是否支持 #pragma 关键字并且是否支持 #pragma once

真正的问题是 gcc(MinGW 系统的编译器部分)是否支持 #pragma once

答案是肯定的。 #pragma 特性实际上是由 gcc 使用的 C 预处理器支持的,它是单独记录的。 Gnu CPP 的 #pragma once 实现是 described here。根据您的系统配置方式,您可以通过键入 info cpp 并搜索 #pragma once.

在您的系统上阅读此内容

不过,我不建议使用 #pragma once。它不是由 C 标准指定的,因此它不能移植到其他编译器。除非你能保证你的代码永远不需要由不支持 #pragma once 的编译器编译,否则你最好使用传统的 #ifndef 方法,称为 "include guard",在previous section of the same manual.

中描述