2013-04-11 7 views
0

glibc에 대한 해킹을 시도하고 있으며 함수와 유사한 매크로를 다시 정의 할 수 있는지 알고 싶습니다. 내가 이전의 정의를 취소해야한다고 가정하지만 정확히 모르는C에서 함수와 유사한 매크로 정의를 취소 하시겠습니까?

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

:

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

방법으로 expm1을 재정의 : 예를 들어

, <tgmath.h> 다음과 같은 매크로를 가지고 하기 위해서.

답변

8

정확히. 먼저 정의를 해제하십시오.

#ifdef expm1 
#undef expm1 
#endif 

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

답변을 개선하려면 이전에 정의한 경우 정의를 취소하십시오. – Vincent

+1

@ Vincent, 무엇이 좋을까요? 결과는 정확히 같을 것이다. 즉,'expm1'은 그 이후에 정의되지 않는다. –

+0

@Vincent 당신을 위해 추가했습니다. –

관련 문제