我目前有以下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
答案 0 :(得分:2)
真正的问题是gcc(MinGW系统的编译器部分)是否支持#pragma once
。
答案是肯定的。 #pragma
功能实际上由gcc使用的C预处理器支持,单独记录。 Gnu CPP对#pragma once
的实施是described here。根据系统的配置方式,您可以通过键入info cpp
并搜索#pragma once
来在系统上阅读此内容。
但是,我不建议使用#pragma once
。它没有由C标准指定,因此它不能移植到其他编译器。除非您可以保证您的代码永远不需要由不支持#pragma once
的编译器编译,否则您可能最好使用传统的#ifndef
方法,称为“包含保护” ,在previous section of the same manual中描述。