c - 在 C 中取消定义类似函数的宏?

标签 c macros c-preprocessor glibc

我正在尝试对 glibc 进行一些修改,我想知道是否可以重新定义类似函数的宏?

例如,<tgmath.h>具有以下宏:

#define expm1(Val) __TGMATH_UNARY_REAL_ONLY (Val, expm1)

如何重新定义expm1作为:

#define expm1(Val) __TGMATH_UNARY_REAL_IMAG (Val, expm1, cexpm1)

我想我必须取消之前的定义,但我不知道该怎么做。

最佳答案

没错。先取消定义即可。

#ifdef expm1
#undef expm1
#endif

#define expm1(Val) __TGMATH_UNARY_REAL_IMAG (Val, expm1, cexpm1)

关于c - 在 C 中取消定义类似函数的宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15958638/

相关文章:

c - 将 lcov 与转换为 C 的语言一起使用时隐藏 C 源代码

c - 如何在带有 Verix OS 的 Verifone 设备上使用 ARM 应用程序上的 read() 函数或类似函数

c++ - MSVC多行宏编译器错误

c++ - 我可以这样使用#undef吗?

c++ - 如何解决 "must specify at least one argument for ' .. .' parameter of variadic macro"

java - JNI C 反射谜题

c - 是什么原因导致此 "NULL could not be resolved"错误?

c - 了解部分代码

c - 使用宏 MINIMUM3 的三个数字中最小的一个

c - 条件指令中使用的任何非宏变量的计算结果是否为 0 是否正确?