日期:2014-05-16  浏览次数:20777 次

26 Linux下的ssize_t类型

ssize_t类型通常用于文件操作的write、read函数,用于表示可以被执行read和write操作的数据块的大小,其在头文件unistd.h中的定义如下,被typedef定义为__ssize_t类型

220 #ifndef __ssize_t_defined
221 typedef __ssize_t ssize_t;
222 # define __ssize_t_defined
223 #endif

其实ssize_t是signed size_t类型,其中size_t类型是在标准C语言库中进行定义的

typedef int ssize_t

size_t其本质是为了方便代码在不同的系统上移植而定义的,在32位的Linux中size_t为unsigned int类型即为32位无符号整数,在64位的Linux中其为unsigned long即为64位无符号整数。