【发布时间】:2010-10-21 17:07:06
【问题描述】:
我了解到在使用 #pragma once 时有一些编译器优化,可以加快编译速度。我知道这是非标准的,因此可能会造成跨平台兼容性问题。
非 Windows 平台 (gcc) 上的大多数现代编译器都支持这种功能吗?
我想避免平台编译问题,但也想避免后备守卫的额外工作:
#pragma once
#ifndef HEADER_H
#define HEADER_H
...
#endif // HEADER_H
我应该担心吗?我是否应该为此花费更多的精力?
【问题讨论】:
-
在询问了similar question 之后,我发现
#pragma once似乎避免了 VS 2008 中的一些类视图问题。我正在摆脱包含守卫并将它们全部替换为#pragma once出于这个原因。
标签: c++ include-guards