打印

size_t

[复制链接]
1644|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bit6019|  楼主 | 2011-1-15 12:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
size_t是标准C库中定义的,应为unsigned int。
  数据类型"socklen_t"和int应该具有相同的长度.否则就会破坏 BSD套接字层的填充.POSIX开始的时候用的是size_t, Linus Torvalds(他希望有更多的人,但显然不是很多) 努力向他们解释使用size_t是完全错误的,因为在64位结构中 size_t和int的长度是不一样的,而这个参数(也就是accept函数的第三参数)的长度必须和int一致,因为这是BSD套接字接口标准.最终POSIX的那帮家伙找到了解决的办法,那就是创造了一个新的类型"socklen_t".Linux Torvalds说这是由于他们发现了自己的错误但又不好意思向大家伙儿承认,所以另外创造了一个新的数据类型 。
  在C++中,size_t的引入增加了程序在不同平台上的移植性,经测试发现,在32位系统中size_t是4字节的,而在64位系统中,size_t是8字节的,这样利用该类型可以增加程序移植性。

相关帖子

沙发
加班加点| | 2011-4-10 07:56 | 只看该作者
学习了,顶

使用特权

评论回复
板凳
msp430ing| | 2011-4-10 12:36 | 只看该作者
现在都是32位的机子吧!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

221

主题

1344

帖子

1

粉丝