是否有一个GCC __PRETTY_FUNCTION__等于文字参数被喂食?

时间:2018-02-08 12:53:57

标签: c++ qt gcc strace

如果我的职能是:

void foo(bool bar)
{
    qDebug() << __PRETTY_FUNCTION__;
}

foo(getBool());将输出"void foo(bool bar)"

我想有更多的结果,所以:

foo(getBool());将输出"getBool()"

最好的方法是什么?

要求是foo(boolbar)将被放入动态库中,如下所示:

#include "Custom Library/output_tools.h"

进入项目。

1 个答案:

答案 0 :(得分:1)

为什么不直接使用宏?

#define printBoolFunctionAndResult(bar) qDebug() << #bar << " " << bar;

这使用stringize运算符将宏参数转换为字符串,并首先直接打印参数,然后对其进行求值。

以下是std::couthttps://repl.it/repls/IntelligentGrayGermanpinscher

的工作示例