Есть ли способ получить имя функции внутри функции C ++?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Есть ли способ получить имя функции внутри функции C ++?

Сообщение Anonymous »

Я хочу реализовать функциональный индикатор, который проследит, сколько времени выполняет функцию. У меня есть следующий класс для того же:-< /p>

class FuncTracer
{
public:
FuncTracer(LPCTSTR strFuncName_in)
{
m_strFuncName[0] = _T('\0');
if( strFuncName_in ||
_T('\0') != strFuncName_in[0])
{
_tcscpy(m_strFuncName,strFuncName_in);

TCHAR strLog[MAX_PATH];
_stprintf(strLog,_T("Entering Func:- "),m_strFuncName);
LOG(strLog)

m_dwEnterTime = GetTickCount();
}
}

~FuncTracer()
{
TCHAR strLog[MAX_PATH];
_stprintf(strLog,_T("Leaving Func:- , Time inside the func ms"),m_strFuncName, GetTickCount()-m_dwEnterTime);
LOG(strLog)
}

private:
TCHAR m_strFuncName[MAX_PATH];
DWORD m_dwEnterTime;
};

void TestClass::TestFunction()
{
// I want to avoid writing the function name maually..
// Is there any macro (__LINE__)or some other way to
// get the function name inside a function ??

FuncTracer(_T("TestClass::TestFunction"));
/*
* Rest of the function code.
*/
}
< /code>

Я хочу знать, есть ли способ получить имя функции изнутри функции? В основном я хочу, чтобы пользователи моего класса просто создали объект одинаково. Они не могут передавать имя функции.

Подробнее здесь: https://stackoverflow.com/questions/733 ... c-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»