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

时间:2013-04-11 20:51:18

标签: 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)

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

1 个答案:

答案 0 :(得分:8)

完全。先取消它。

#ifdef expm1
#undef expm1
#endif

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