当前位置:  开发笔记 > 编程语言 > 正文

是否有一种干净的方法来阻止windows.h创建近远宏?

如何解决《是否有一种干净的方法来阻止windows.h创建近远宏?》经验,为你挑选了2个好方法。

在WinDef.h的深处,有来自分段记忆时代的遗物:

#define far
#define near

如果您尝试使用near或far作为变量名称,这显然会导致问题.任何干净的解决方法?其他然后重命名我的变量?



1> MSalters..:

与其他人的说法相反,你可以安全地取消它们.原因是它们只是宏的.它们仅影响其定义与未定义之间的预处理器.在你的情况下,这将是从windows.h的早期到windows.h的最后一行.如果你需要额外的Windows标题,你可以在windows.h之后和#undef之前包含它们.在您的代码中,预处理器将根据需要简单地保持符号不变.

关于旧代码的评论是无关紧要的.该代码将在一个单独的库中,独立编译.只有在链接时才会连接这些,当宏已经过去了.



2> John Milliki..:

包括windows.h以下内容后,取消定义您不想要的任何宏:

#include 
#undef near
#undef far

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有