【发布时间】:2008-11-14 22:08:09
【问题描述】:
如何告诉预处理器不要替换特定的宏?
具体问题如下:windows头文件中定义了GetMessage宏。
我的 C++ 头文件和我的 API 有一个 GetMessage 方法。我不想重命名我的方法。但是在 Windows 上使用 API 时,包括 windows.h 将我的 GetMessage 方法调用替换为 GetMessageA。
【问题讨论】:
-
只做#undef GetMessage 不好,因为使用API 的代码也使用Windows GetMessage。
-
啊,Windows SDK 不加选择地使用宏破坏任何和所有命名空间(而不仅仅是在 C++ 的命名空间功能中)的另一个示例。
-
@vincent:见 don.newfeld 在 ShoeLace 的
#undef GetMessage回答中的评论
标签: c++ c-preprocessor getmessage