我想要一个函数,它可以实现类似于伪C代码中所列的行为。我想这可能是通过使用函数指针来实现的。
如果我所构想的模式很糟糕/不可能实现,我非常乐意接受替代方案作为答案,如果它能实现同样的功能。
void log_func(const char* name, /*other args*/) {
printf("called function: %s\n", name);
if (/*calling function exited*/)
printf("exited function: %s\n", name);
}
void example_func() {
log_func(__func__); // __func__ macro is expanded to be function name as a c-string
printf("This function does nothing\n");
}
输出:
called function: example_func
This function does nothing
exited function: example_func
1条答案
按热度按时间7kqas0il1#
这样的东西对返回void的函数有效。对于任意返回必须更聪明。
输出量