我正在尝试对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)