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