c
文章平均质量分 59
jsc723
这个作者很懒,什么都没留下…
展开
-
c/c++后台开发学习笔记 2.1.2 reactor原理与实现,实现百万级并发
reactor把epoll返回的fd读写事件进行封装,并为每种事件设置回调函数,把所有关注的fd以及对应的事件存储在一个数据结构里,与epoll内部的红黑树的节点形成一一对应的关系。epoll返回时使用data.ptr得到我们数据结构中对应的entry,再进行处理对fd的封装如下typedef int (*NCALLBACK)(int fd, int events, void *arg);struct ntyevent { int fd; int events;原创 2021-11-26 07:11:08 · 748 阅读 · 0 评论 -
c语言用宏模拟泛型容器
这两天用c数组的时候觉得每次数组传入函数的时候都要传长度,不方便,所以试了一下在一个结构体里面保存数组和长度然后一起传到函数里面。后来又觉得每换一种数据类型就要重新写一种struct,也麻烦,于是想到用宏来自动生成定义结构体的代码。先来看一下main.c://---------------main.c------------------#include<stdio.h>#include<stdlib原创 2015-12-22 12:52:58 · 1404 阅读 · 0 评论 -
c语言结构体模拟c++对象的方法,并实现this指针
先说一下结构体模拟对象的基本思路。 1. 在结构体里定义好函数指针。 2. 在结构体外面定义好对象的方法。 3. 在结构体初始化的时候把这些方法的地址赋值给对应的函数指针。 4. 通过函数指针调用函数,并把结构体自身的地址传给函数。这个思路容易想到,但不是很完美。毕竟定义函数的时候必须多写一个参数指向结构体(即this指针必须通过参数显式传递),不方便。调用的时候也要多写一次对象的名字:ob原创 2016-12-16 14:17:44 · 6356 阅读 · 4 评论