C语言中覆盖库函数
#include <stdio.h>
int (*function)(int ch);
void init()
{
function = putchar;
}
#define putchar(X) xputchar(X)
int xputchar(int ch)
{
printf("You got it! : ");
function(ch);
return ch;
}
int main()
{
init();
putchar('A');
printf("\n");
return 0;
}
如上代码所示,可实现类似于Java中装饰者模式的行为追加效果。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步