【发布时间】:2011-07-04 01:31:38
【问题描述】:
我还没有看到这个问题的任何答案(这可能意味着它是不允许的)但我想我还是会问。
有没有什么方法可以覆盖使用 MS Visual-C++ 创建的 .h 或 .hpp 文件中 #pragma once 的自动生成,以使用使用便携式友好预处理器指令的标准标头保护?
#ifndef _V_DESCRIPTOR_
#define _V_DESCRIPTOR_
// some code here
#endif
【问题讨论】:
-
根据我的经验,
.cpp文件没有包含任何类型的保护... 另请注意,#define __XYZ__不可移植,该宏名称是保留的! -
我的错误,我的意思是 .h 文件。我会编辑。
-
您的新示例仍然是保留名称。任何以双下划线或下划线 + 大写字母开头的内容都是保留的,不应在您的代码中使用。
-
好的。谢谢。我有一个使用该确切约定的头文件(请参阅 Ogre3d 框架教程)所以......很高兴知道我不应该这样做。我会在编辑中更正。
-
我知道,有很多教程都建议使用这种模式。我花了一段时间才改掉这个坏习惯。
标签: visual-studio visual-c++ visual-c++-2010