C 中是否有办法获取可以使用令牌粘贴的函数名称
(我知道__FUNCTION__
和__func__
,但他们没有扩展到预处理名称,
我不希望这个名字是一个字符串。)
我希望能够做到这样的事情:
prefix_ ## __func_name__
,因此,在名称为func1()
的函数中,我可以访问。{
符号prefix_func1
(也许我仍然可以使用字符串,然后使用dlsym
,但想知道是否存在
GCC中更简单的替代方案,不用担心可移植性。)
答案 0 :(得分:2)
您可以将函数标识符设为宏,如
#define FUNC1 func1
void FUNC1(void)
{
...
}
然后使用FUNC1
进行令牌粘贴。