// file1.h

#define TRUE   1

#define FALSE  0


// file2.h

#if defined(TRUE) || defined(FALSE)

#pragma push_macro( "temp" )

#define temp TRUE

#undef TRUE

#define TRUE FALSE

#undef FALSE

#define FALSE temp

#pragma pop_macro( "temp" )

#endif


사용

#include file1

#include file2 비정상

#include file2 정상
#include file2 비정상

#include file2 정상

#include file2 비정상


// 결과

TRUE = 0

FALSE = 1