typedef定义函数类型或函数指针
2024-08-21 04:11:44
转载请标明出处;
最近在看redis的代码,发现了有关函数指针的部分,想把它记下来。
在redis中有类似下面的定义,利用typedef 定义了一个新的类型,这种类型是一个函数:
typedef void aeFileProc(struct aeEventLoop *eventLoop, int fd, void *clientData, int mask);
然后可以用这个类型定义一个指针,这个指针指向一个函数,具体redis中使用如下(具体redis的源码解析,后面的文章中还会提到):
aeFileProc *rfileProc;
aeFileProc *wfileProc;
int aeCreateFileEvent(aeEventLoop *eventLoop, int fd, int mask,
aeFileProc *proc, void *clientData)
{
if (fd >= eventLoop->setsize) {
errno = ERANGE;
return AE_ERR;
}
aeFileEvent *fe = &eventLoop->events[fd]; if (aeApiAddEvent(eventLoop, fd, mask) == -)
return AE_ERR;
fe->mask |= mask;
if (mask & AE_READABLE) fe->rfileProc = proc;
if (mask & AE_WRITABLE) fe->wfileProc = proc;
fe->clientData = clientData;
if (fd > eventLoop->maxfd)
eventLoop->maxfd = fd;
return AE_OK;
}
最新文章
- [WPF系列]-数据邦定之DataTemplate 使用 DataTrigger 来应用属性值
- Activity 属性设置大全
- 网站tomcat配置
- iphone获取sim卡信息
- ubuntu安装软件的方式
- tomcat bio nio apr 模式性能测试
- JavaWeb程序利用Servlet的对SQLserver增删改查操作
- C语言获取系统时间的函数
- 指导手册06:HBase安装部署
- CancellationTokenSource 和 CancellationToken 取消线程
- qhfl-4 注册-登录-认证
- MySQL:锁
- SQL中的每一张表都必须设有主键吗
- 关于数据库不适合docker的原因(摘抄)
- 算法笔记 #007# Backtracking
- phpStorm 8.0.3 设置
- SSL - 简介
- tkinter入门,canvas实现百度,抖音,加载
- JavaScript设计模式—工厂模式
- Discuz常见小问题-如何修改顶部导航