Automake
Automake是一个从文件 Makefile.am 自动生成 Makefile.in 的工具。每个 Makefile.am 基本上是一系列 make 的宏定义 (make规则也会偶尔出现)。生成的 Makefile.in 服从 GNU Makefile 标准。GNU Makefile 标准文档长、复杂,而且会发生改变。Automake 的目的就是解除个人GNU维护者维护 Makefile 的负担 (并且让Automake的维护者来承担这个负担)。
Automake
Automake是一个从文件 Makefile.am 自动生成 Makefile.in 的工具。每个 Makefile.am 基本上是一系列 make 的宏定义 (make规则也会偶尔出现)。生成的 Makefile.in 服从 GNU Makefile 标准。GNU Makefile 标准文档长、复杂,而且会发生改变。Automake 的目的就是解除个人GNU维护者维护 Makefile 的负担 (并且让Automake的维护者来承担这个负担)。
strdup() 不是标准的 C 函数。strdup() 在内部调用了 malloc() 为变量分配内存,不需要使用返回的字符串时,需要用 free() 释放相应的内存空间,否则会造成内存泄漏。
epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目非常大,与旧的 select 和 poll 系统调用完成操作所需 O(n) 不同, epoll能在O(1)时间内完成操作,所以性能相当高),epoll 与 FreeBSD的kqueue类似,都向用户空间提供了自己的文件描述符来进行操作。
MAKE_STD_ZVAL(zv) 宏替换后:
(zv) = (zval *) emalloc(sizeof(zval)); (zv)->refcount__gc = 1; (zv)->is_ref__gc = 0;
结构体类型变量的定义
在定义结构体类型变量之前,首先需要设计结构体,定义结构体的名称和成员的数据类型,然后使用结构体说明变量,这时结构体就成为了一种新的数据结构。定义结构体使用修饰符 struct,它一般形式为:
struct 结构体名 {
数据类型 成员名1;
数据类型 成员名2;
数据类型 成员名3;
};
常用 头文件 及 包含函数
C 语言有如下 3 种作用域。
1、全局变量
2、文件内部的静态变量
3、局部变量
功能描述:根据文件描述词来操作文件的特性。
用法:
int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock);
散列表(也叫哈希表),是根据关键码值直接进行访问的数据结构,也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
-
数据结构中,有个时间算法复杂度O(n)的概念来衡量某种算法在时间效率上的优劣。哈希表的理想算法复杂度为O(1),也就是说利用哈希表查找某个值,系统所使用的时间在理想情况下为定值,这就是它的优势。那么哈希表是如何做到这一点的呢?
C语言有5种基本的数据类型,分别为 字符型、整型、单精度浮点型、双精度浮点型、空类型。
ANSI C标准基本类型的字长与范围 | ||
---|---|---|
基本类型 | 字长 | 范围 |
char(字符型) | 1字节 | -128~127 |
int(整型) | 2字节 | -32768~32767 |
float(单精度浮点型) | 4字节 | 约精确到6位数 |
double(双精度浮点型) | 8字节 | 约精确到12位数 |
void(空值型) | 0字节 | 无值 |