您正在查看: 2016年11月
do{}while(0)用法详解
1、定义复杂的宏以避免错误 do{...}while(0)在C中是唯一的构造程序,让你定义的宏总是以相同的方式工作,这样不管怎么使用宏(尤其在没有用大括号包围调用宏的语句),宏后面的分号也是相同的效果。
示例
#define foo(x) bar(x); baz(x)
foo(wolf);等价于bar(wolf); baz(wolf);
if(condition)foo(wolf);等价...阅读全文
ascii码表以及扩展表常见编码介绍
【参考文献】https://my.oschina.net/liting/blog/470021?p=1阅读全文
结构体中有符号及无符号位域赋值解析
程序如下#include <stdio.h>
#include <stdlib.h>
struct bitint
{
int a:2;
int b:2;
int c:1;
};
int main()
{
struct bitint test;
test.a = 1;
test.b = 3;
test.c = ...阅读全文
libevent源码之queue
libevent中queue相关宏主要参考linux内核头文件<sys/queue.h>作了稍许的修改Linux自带头文件的队列链表相关宏使用可以在man手册中查到(man 3 queue)libevent中的queue.h头文件主要包含了5种队列数据结构,下面将以代码形式列出如何使用这些宏1、singly-linked lists#include <stdio.h>...阅读全文
libevent用户手册html离线版(for libevent2.0)
官网衔接:http://www.wangafu.net/~nickm/libevent-book/1、目录:2、文件索引├── 00_about.html (关于)├── 01_intro.html (异步I/O的介绍,简单明了)├── Fast portable non-blocking network programming with Libevent.html (主文件-入口文件)├─...阅读全文
libevent2.0之minheap最小堆源码分析以及使用实例
目录结构:.
├── a.out 可执行
├── main.c 测试主程序
└── minheap.h 少许修改的minheap头文件
1、minheap.h #ifndef _MIN_HEAP_H_
#define _MIN_HEAP_H_
#include <stdlib.h>
struct event
{
unio...阅读全文