yes, the macro is defined in vc or carbide, gcce compiler, etc.
use as normal macro. like
Code:
class CFuncTrace
{
public:
CFuncTrace(const char* file, const char* func, int line)
{
iFile = (const TUint8*)file;
iFunc = (const TUint8*)func;
iLine = line;
LOG_FMT( KFuncTraceEnterFormat, &iFile, &iFunc, iLine );
}
~CFuncTrace()
{
LOG_FMT( KFuncTraceLeaveFormat, &iFile, &iFunc, iLine );
}
private:
CFuncTrace(const CFuncTrace&);
CFuncTrace& operator= (const CFuncTrace&);
private:
TBuf8<100> iFile;
TBuf8<100> iFunc;
int iLine;
};
#define FUNC_TRACE(name) CFuncTrace name(__FILE__, __FUNCTION__, __LINE__)
#define FUNC_U_TRACE() CFuncTrace _func_trace_(__FILE__, __FUNCTION__, __LINE__)