c - 如何识别 C 中重新定义的宏?

标签 c c-preprocessor

我有两个大型框架库,它们的头文件包含在我的项目中。任何一个都可以完美地工作,但是包括两者都会导致不稳定的行为(但没有与宏相关的错误消息)。

我假设他们都 #define 了一个同名的宏。识别有问题的宏的最有效方法是什么?

最佳答案

I assume that they both #define a macro of the same name.

编译器至少应该生成一个警告(如果它们在同一个翻译单元中)。

How do I identify redefined macros in C/C++?

据我所知,没有直接的方法。

Either one works flawlessly, but including both causes erratic behaviour

您能否向我们提供一些有关异常行为的详细信息?到底发生了什么?是什么让您认为这是宏定义?

关于c - 如何识别 C 中重新定义的宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3091971/

相关文章:

c - 如何将输出重定向远离/dev/null

c - nlinfit Matlab函数等价函数c代码

c - C 中整数的错误乘法

c++ - 带符号的 16 位 ALSA PCM 数据到 Linux 上的 U8 转换

c++ - 不使用+号的加法

c - RAW Socket - Ethertype 和接收算法 - C

c# - C#中#if DEBUG预处理器指令的用法是什么?我们什么时候必须使用这个?

c++ - 可视化标记条件编译

c++ - MACRO 取决于其文件夹位置

c++ - C宏是隐式转换的吗?