如何在C中重命名/别名为函数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在C中重命名/别名为函数?相关的知识,希望对你有一定的参考价值。
说我有一个正在制作的库,我想调用函数rename
或puts
,如何保留rename
或puts
等中的原始stdlib
和stdio
,以及其他,还有我自己的功能是puts
吗?
#include <stdio.h>
alias puts original_puts;
void
puts(char *c) {
original_puts(c);
}
我如何完成达到此目的的事情?
答案
您不能为库函数起别名,但可以使用预处理程序指令为自己的库起别名。
例如:
mylib.h:
#include <stdio.h>
void my_puts(char *c);
#define puts(...) my_puts(__VA_ARGS__)
mylib.c:
#undef puts
void my_puts(char *c)
{
puts(c);
}
#define puts(...) my_puts(__VA_ARGS__)
以上是关于如何在C中重命名/别名为函数?的主要内容,如果未能解决你的问题,请参考以下文章