zoukankan      html  css  js  c++  java
  • [置顶] ssize_t与size_t-linux

    ssize_t

    signed size_t [注释:signed 有符号]

    size_t

    标准C库中定义的,应为unsigned int [注释:unsigned 无符号]


    一、size_t 增强移植性:

    [注释:不同的系统上,定义size_t可能不一样,便有了size_t,它是为了方便系统之间的移植而定义的]


    32位系统上:

    定义为 unsigned int 

    也就是说在32位系统上是32位无符号整形

    64位系统上:

    定义为 unsigned long 

    也就是说在64位系统上是64位无符号整形


    二、size_t 计数:

    一般用于多少东西被拷贝

    例如:

    sizeof操作符的结果类型是size_t。

    该类型保证能容纳实现所建立的最大对象的字节大小。 
    适于计量内存中可容纳的数据项目个数的无符号整数类型。
    它在数组下标和内存管理函数之类的地方广泛使用。


    三、ssize_t 执行读写操作的数据块的大小

    它和size_t类似,但必需是signed.

    所以:

    它表示的是signed size_t类型的。

  • 相关阅读:
    ReentrantLock和AQS
    CAS
    java8中ConcurrentHashMap
    java8中的HashMap
    TCP和UDP
    慢查询日志和profiling
    explain的使用
    select、poll、epoll之间的区别
    I/O模型
    生产者-消费者模式
  • 原文地址:https://www.cnblogs.com/james1207/p/3297300.html
Copyright © 2011-2022 走看看