我想知道__func__(属于C99的一部分,但我正在编译为C89)和__FUNCTION__的支持范围。

我有一个旧的代码库,该代码库主要使用手动const char* id;变量,然后将这些变量传递给各种(主要是日志记录)函数。我想摆脱这一点,并将函数名称移入宏。

最佳答案

boost current_function.hpp header 包含几个#define,用于在不同平台上获取当前函数。

这并不是说这些平台不支持获取当前功能的其他方式,但是为增强而做出的选择很可能代表了在那些平台上获取信息的好方法(如果不是最好的话)。

针对您的代码(和C)针对此 header 进行的调整很可能正是您所需要的。

10-01 01:19