`
jakielong
  • 浏览: 229180 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

size_t和ssize_t类型

 
阅读更多

size_t 是为了方便系统之间的移植而定义的

在32位系统上定义为 unsigned int
在64位系统上定义为 unsigned long
size_t 一般用来表示一种计数,比如有多少东西被拷贝等,设计 size_t 就是为了适应多个平台的需要。

ssize_t 就是 signed int /long

分享到:
评论

相关推荐

    浅谈int8_t int64_t size_t ssize_t的相关问题(详解)

    在代码中经常看到int8_t/int16_t/int32_t/int64_t/uint8_t/size_t/ssize_t,以前对这个问题一直是稀里糊涂的,不明白它们到底是什么数据类型,现在上班了,必须把它弄明白了 uint8_t之类 那么_t的意思到底表示什么?...

    ios socket demo

    ssize_t send(int, const void *, size_t, int) __DARWIN_ALIAS_C(send); // void * 万能指针 // 读取数据 ssize_t recv(int, void *, size_t, int) __DARWIN_ALIAS_C(recv); // 关闭连接 int close(int);

    C语言编程需要注意的64位和32机器的区别.doc

    `ssize_t`和`size_t`分别表示带符号和无符号的计算机字长大小。这两种类型在32位系统上通常是`int`类型,在64位系统上则是`long`类型。使用这些类型可以增强代码的跨平台能力。 ```c #include // 示例代码 size_t...

    linux_Socker.rar_linux socker_socker_socker c语言

    ssize_t send(int sockfd, const void *buf, size_t len, int flags); ``` 而`read()`或`recv()`函数用于接收数据: ```c ssize_t read(int sockfd, void *buf, size_t len); ssize_t recv(int sockfd, void *buf, ...

    linux_网络编程API

    ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen); ``` - `recvfrom()`:用于从UDP套接字接收数据并获取发送者的地址信息。函数原型...

    c文件读写函数

    `ssize_t write(int fd, const void *buf, size_t count);` 其中,fd 为文件描述符,buf 为写入数据的缓冲区,count 为要写入的数据大小。 标准文件读写函数 标准文件读写函数主要用于读写文本文件,包括 fopen、...

    printk-formats打印格式1

    4. **大小类型**: `size_t`和`ssize_t`分别使用`%zu`和`%zd`,或者也可以使用`%zx`。`size_t`通常用于表示内存分配的大小,`ssize_t`通常用于表示可能包含负值的返回大小。 5. **指针**: 指针值应当使用`%p`来打印...

    深入浅出Linux设备驱动之并发控制

    static ssize_t globalvar_write(struct file *, const char *, size_t, loff_t*); static int __init globalvar_init(void) { init_MUTEX(&global_var_sem); return register_chrdev(MAJOR_NUM, "globalvar", &...

    TCP/UDP数据收发参考代码

    7. sendto() 和 recvfrom()(UDP专用):发送和接收数据,并可以指定目标或源地址,sendto()原型为ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen...

    Linux驱动开发庖丁解牛之三 揭开字符设备驱动程序的面纱

    1. **读操作**:`ssize_t (*read)(struct file *, char __user *, size_t, loff_t *)` 函数负责从设备读取数据并将其复制到用户空间缓冲区。 2. **写操作**:`ssize_t (*write)(struct file *, const char __user *,...

    深入源码解析Python中的对象与类型

    - `Py_ssize_t ob_size`: 表示变长对象中元素的数量,例如列表中元素的个数。 #### 方法和宏定义 为了方便地操作这些内部结构,Python提供了一系列宏定义: - `Py_REFCNT(ob)`: 用于获取对象`ob`的引用计数。 - `...

    如何编写Linux设备驱动程序

    ssize_t (*write)(struct file *, const char __user *, size_t, loff_t *); // 写操作 // 其他操作... }; ``` #### 实现示例 ```c static int my_device_open(struct inode *inode, struct file *file) { // ...

    消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例

    它的原型为`ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg)`。`msqid`是消息队列的标识符,`msgp`接收消息的缓冲区,`msgsz`是缓冲区的大小,`msgtyp`是消息类型(可选),`msgflg`...

    Scoket 资料Scoket 资料

    ssize_t readn(int fd, void *buf, size_t n) { ssize_t nleft = n; ssize_t nread; char *ptr = buf; while (nleft > 0) { if ((nread = read(fd, ptr, nleft)) ) { if (errno == EINTR) nread = 0; else ...

    seq_file proc 文件系统的实现

    t_proc = create_proc_entry(TARGET_PROC, S_IFREG | S_IRUGO | S_IWUSR, t_dir); // 创建Proc文件 if (t_proc) { t_proc->proc_fops = &ct_file_ops; // 对file_operations结构体进行赋值 } return 0; } ``` ...

    Linux进程间通信-详解 (经典)

    - **读取管道**: `ssize_t read(int fd, void *buf, size_t count);` - **写入管道**: `ssize_t write(int fd, const void *buf, size_t count);` **1.2 有名管道概述及相关API应用** 有名管道也称为FIFO,它是...

    SocketSocket详细介绍,C++,原理

    ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t dest_len); ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr...

    LINUX驱动开发 字符驱动实例

    static ssize_t my_write(struct file *filp, const char *buf, size_t count, loff_t *f_pos); static int my_open(struct inode *inode, struct file *filp); static int my_release(struct inode *inode, struct ...

Global site tag (gtag.js) - Google Analytics