linux中定义的ssize_t在哪里?

问题描述 投票:2回答:2

操作系统:Debian 9(Linux 4.9)

编译器:GCC 8.2

目前我包括<stddef.h>(其中定义了size_t)和<stdint.h>(其中定义了大多数整数类型),但我仍然没有ssize_t

它在哪里定义?

c linux types include posix
2个回答
2
投票

ssize_tsys/types.h中定义。

对于the POSIX documentation

name

sys / types.h - 数据类型

概要

#include <sys/types.h>

描述

标题至少应定义以下类型:

...

ssize_t

用于计数字节或错误指示。


1
投票

(Qazxswpoi):

细粒度文件中POSIX和C头的划分可能来自于编译可能需要很长时间的旧时代,并且添加不必要的头文件会使时间更长。

如果您只需要操作系统类型,比如功能原型,那么只需要https://stackoverflow.com/a/29984840/6872717。但是,如果您需要函数定义,那么根据需要使用#include <sys/types.h>或任何其他系统头。

#include <unistd.h>用于许多POSIX函数,或者只是#include <unistd.h>用于包含该类型的小标题。

© www.soinside.com 2019 - 2024. All rights reserved.