谁能帮我解决以下问题:
问题:假设有两个函数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)
谢谢
一种方法是使用像这样的宏
#define bar() bar_test()
Run Code Online (Sandbox Code Playgroud)
现在bar()通过宏调用来调用bar_test()
应按照标准调用定义的函数。没有选项可以在运行时更改函数名称,这也没有意义。