TinyHTTPd源码分析
摘要:TinyHTTPd TinyHTTPd是一个超轻量级的http服务器, 使用C语言开发, 代码只有500多行, 不用于实际生产, 只是为了学习使用. 通过阅读代码可以理解初步web服务器的本质. 主页地址 : http://tinyhttpd.sourceforge.net/ 注释后的源码 : ht
阅读全文
C语言内存对齐对则
摘要:这篇文章讲的非常好 : http://blog.csdn.net/hairetz/article/details/4084088 用空间换时间, 规则 : 每个数据成员存储的起始位置都要是它的整数被或者它子成员的整数倍, 并且结构体总长度是它内部最大成员的整数倍, 不足补齐. 可以使用 #pragm
阅读全文
变量生存周期和静态局部变量
摘要:只有当函数被调用时, 其形参和局部变量才被分配了内存, 一旦调用结束, 其空间将被回收.根据这种特性, 把局部变量称为自动变量. 定义形式 : auto int x, y; 在定义时, auto一般省略. 静态变量赋初始值只有在函数第一次调用时起作用, 若没有赋初始值,系统自动赋0.
阅读全文
指针数组和数组指针的区别
摘要:这两个概念很模糊,今天遇到理解了好久. 指针数组:是一个数组,里面存放的每个元素都是一个地址. int* a[4] 表示a数组中每个元素都是int型的指针. int *a[4] 和 int *(a[4])是一样的,因为[]优先级比*要高. 数组指针:是一个指针,指向数组元素的首地址. int *(a
阅读全文