C/C++ Learning

您正在查看: 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...阅读全文