Я использую следующий способ для отслеживания времени функции:
#define TIME_COST(message, ...)\
char szMessageBuffer[2048] = {0};\
va_list ArgList;\
va_start(ArgList, message);\
vsprintf_s(szMessageBuffer, 2048, message, ArgList);\
va_end(ArgList); \
string strMessage(szMessageBuffer);\
CQLogTimer t(strMessage);
// CQLogTimer - это саморазрушитель, который будет самостоятельно присваивать время жизни и печатать szMessageBuffer.Однако, когда я использую макрос, это:
void fun
{
TIME_COST("hello->%s", filePath);
XXXXXX
}
Всегда генерируется сообщение hello -> (null)
Может ли кто-нибудь помочь?Большое спасибо!