C语言结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。所以,标准C中的结构体是不允许包含成员函数的,当然C++中的结构体对此进行了扩展。那么,我们在C语言的结构体中,只能通过定义函数指针的方式,用函数指针指向相应函数,以此达到调用函数的目的。
Continue reading
C语言结构体struct中定义函数指针的方法详解
Leave a reply
C语言结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。所以,标准C中的结构体是不允许包含成员函数的,当然C++中的结构体对此进行了扩展。那么,我们在C语言的结构体中,只能通过定义函数指针的方式,用函数指针指向相应函数,以此达到调用函数的目的。
Continue reading
Libevent库的基本数据结构单链表的实现在compat/sys/queue.h头文件中,主要实现单链表的基本功能,包括,插入,遍历,删除等等,该单链表包含头结点。nginx-release-1.14.0版本的实现源码如下:
Continue reading
定时器是一种特殊类型的时间间隔测量的时钟,定时器发出提示代表时间间隔已过期。下面我们就用网络库Libevent实现简单的定时器功能:每5秒执行一次回调函数,打印当前时间。
Continue reading
Libevent是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络。Libevent包括事件管理、缓存管理、DNS、HTTP、缓存事件几大部分。
Continue reading
HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。下面我们利用Fiddler抓包看看,我们访问网站时浏览器发送了哪些报文信息:
Continue reading
我的博客是用Wordpress搭建的,正需要代码高亮插件,Google一下发现一款SyntaxHighlighter Evolved代码高亮插件不错。相信我,这款代码高亮插件功能足够强大、并且简单易用,绝对值得推荐。
Continue reading