size_t、ssize_t和socklen_t详解
来源:互联网 发布:中国经济数据造假 编辑:程序博客网 时间:2024/04/27 14:11
一、size_t
解释一:为了增强程序的可移植性,便有了size_t,它是为了方便系统之间的移植而定义的,不同的系统上,定义size_t可能不一样。typedef unsigned long size_t
二、ssize_t是signed size_t
size_t是标准C库中定义的,应为unsigned int。定义为typedef int ssize_t。而ssize_t:这个数据类型用来表示可以被执行读写操作的数据块的大小.它和size_t类似,但必需是signed.意即:它表示的是sign size_t类型的
[注] read返回的就是ssize_t, 因为返回的错误码可以为负数,所以必需用它。
三、socklen_t
数据类型"socklen_t"和int应该具有相同的长度.否则就会破坏 BSD套接字层的填充.POSIX开始的时候用的是size_t, Linus Torvalds(他希望有更多的人,但显然不是很多) 努力向他们解释使用size_t是完全错误的,因为在64位结构中 size_t和int的长度是不一样的,而这个参数(也就是accept函数 的第三参数)的长度必须和int一致,因为这是BSD套接字接口标准.最终POSIX的那帮家伙找到了解决的办法,那就是创造了 一个新的类型"socklen_t".Linux Torvalds说这是由于他们 发现了自己的错误但又不好意思向大家伙儿承认,所以另外 创造了一个新的数据类型.
二、ssize_t是signed size_t
[注] read返回的就是ssize_t, 因为返回的错误码可以为负数,所以必需用它。
三、socklen_t
0 0
- size_t、ssize_t和socklen_t详解
- size_t ssize_t socklen_t
- size_t ssize_t socklen_t
- size_t ssize_t socklen_t
- size_t ssize_t socklen_t 关系
- ssize_t和size_t详解
- size_t 和 ssize_t
- size_t和 ssize_t类型
- size_t和ssize_t
- size_t和ssize_t
- ssize_t和size_t类型
- linux中的size_t和ssize_t
- size_t ssize_t
- size_t、ssize_t
- size_t、ssize_t
- linux 和 ssize_t 和size_t 解释
- C++中 打印size_t 和 ssize_t
- size_t,ssize_t,int和long的区别
- tomcat配置文件server.xml详解
- 关于ubuntu12.04下google-chrome无法启动问题的解决
- Spring Security 4学习
- 用指针方法编写一个程序,输入3个整数,将它们按由小到大的顺序输出
- 三维网格数据结构
- size_t、ssize_t和socklen_t详解
- 如何求解最大连续子序列的和
- C++中引用(&)的用法和应用实例
- java web基础 --- session
- 贪吃蛇详解Windows编程(三)
- 写一个函数,将3 3矩阵转置
- java.util.List源码分析
- JS 触发事件大全
- 图片缓存之内存缓存技术LruCache,软引用