如何在运行时重命名 C 函数定义中的名称

Ani*_*dey 2 c

谁能帮我解决以下问题:

问题:假设有两个函数foo()bar()定义为

void bar()
{
    printf("bar\n");
}

void foo()
{
    printf("foo\n");
    bar();
}
Run Code Online (Sandbox Code Playgroud)

所以,这里我想在定义中将函数名称 bar 更改为 bar_test ,但在调用时不更改。这应该是运行时,并且不应修改源代码。

预期输出如下:

void bar_test()
{
    printf("bar\n");
}

void foo()
{
    printf("foo\n");
    bar();
}
Run Code Online (Sandbox Code Playgroud)

谢谢

Gop*_*opi 5

一种方法是使用像这样的宏

#define bar() bar_test()
Run Code Online (Sandbox Code Playgroud)

现在bar()通过宏调用来调用bar_test()

应按照标准调用定义的函数。没有选项可以在运行时更改函数名称,这也没有意义。