Как получить имя функции в то время как в функции для строк отладки?

19
задан moala 12 August 2011 в 11:10
поделиться

5 ответов

" __FUNCTION__" поддерживается и MSVC и GCC и должен дать Вам информацию, в которой Вы нуждаетесь.

27
ответ дан 30 November 2019 в 02:18
поделиться

При использовании gcc, можно найти [еще 110] к симпатии.

8
ответ дан 30 November 2019 в 02:18
поделиться

Я вижу от Вашего примера, что Вы используете Qt. В этом случае Ваш лучший выбор состоит в том, чтобы использовать Q_FUNC_INFO найденный в <QGlobal>. Вот описание:

Расширяется до строки, которые описывают функцию, в которой находится макрос. Как эта строка взгляды более конкретно является зависимым компилятора. С GNU GCC это - обычно функциональная подпись, в то время как с другими компиляторами это мог бы быть номер строки и номер столбца.

13
ответ дан 30 November 2019 в 02:18
поделиться

При проверке повышения существует макро-BOOST_CURRENT_FUNCTION, который является портативным через платформы. В стандарте C99 существует переменная компилятора __func__, который имеет желаемый эффект. Я верю, был принят в C++ 0x стандарт. Разумное количество компиляторов будет уже поддерживать это.

5
ответ дан 30 November 2019 в 02:18
поделиться

__func__ c99 (который в свою очередь означает, что не мог бы работать с Visual Studio - но эй это стандартно: o))

__FUNCTION__ работы в значительной степени везде

__PRETTY_FUNCTION__ являются конкретной гну и возвращают полное полностью определенное имя с (пространства имен?), имя класса, returntype, functionname, parameterslist

5
ответ дан 30 November 2019 в 02:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: