StoneのBLOG

生活这种事情,从来都是自我陶醉

0%

C++中得到函数名字

应某个要求,需要在运行过程中打印出运行的信息,即所谓的LOG收集,此时希望一起打印出来的内容包含调用的函数信息。

在Python中就有这种库,直接能得到函数的调信息名字全部打印出来。但是在C++中就没有现成的库。

自己创建一个库?对我来说还是太早了。

在C++中得到函数名字

  • __func__可以得到函数名字。在函数里面调用输出就好。

    1
    2
    3
    FString fun_name = FString(UTF8_TO_CHAR(__func__));

    UE_LOG(LogTemp, Log, TEXT("Function name is : %s), *fun_name);
  • __FUNCTION__可以得到类名加函数名。

    1
    2
    3
    FString func_name = FString(UTF8_TO_CHAR(__FUNCTION__));

    UE_LOG(LogTemp, Log, TEXT("Function name is : %s), *func_name);

以上是在UE4引擎中输出的结果,也有试过__PRETTY_FUNCTION__来输出但是出现了编译错误。

参考文章: