修改ACE中的ACE_DEBUG宏
#define DEBUG_PREFIX ACE_TEXT("DEBUG%I")
#define MY_DEBUG(FMT, ...)??? \
??????? ACE_DEBUG((LM_DEBUG, \
??????? DEBUG_PREFIX FMT \
??????? __VA_ARGS__ ))
缺省號代表一個可以變化的參數表。使用保留名 __VA_ARGS__ 把參數傳遞給宏。
當宏的調用展開時,實際的參數就傳遞給了。例如:
MY_DEBUG("YEQING")
MY_DEBUG()是一個可變參數宏,你能在每一次調用中傳遞不同數目的參數:
MY_DEBUG("YEQING ","IS ","A HANDSOME BOY");
可變參數宏不被ANSI/ISO C++ 所正式支持。因此,你應當檢查你的編譯器,看它是否支持這項技術。
至少在我自己測試的過程,VS6是不支持的
但是linux as3支持
使用的是gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-20)