gpt4 book ai didi

c++ - 有没有一种干净的方法来防止 windows.h 创建 near & far 宏?

转载 作者:可可西里 更新时间:2023-11-01 14:53:25 26 4
gpt4 key购买 nike

在 WinDef.h 的深处有分段内存时代的遗迹:

#define far
#define near

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

最佳答案

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

关于旧代码的注释无关紧要。该代码将在一个单独的库中,独立编译。只有在链接时,这些才会被连接,而宏早已不复存在。

关于c++ - 有没有一种干净的方法来防止 windows.h 创建 near & far 宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/118774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com