Linux pid_t 类型的定义
pid_t 类型在 Linux 环境编程中用于定义进程 ID,需要引入头文件<sys/types.h>
,首先看一下头文件/usr/include/sys/types.h
中关于 pid_t 的定义。
#ifndef __pid_t_defined
typedef __pid_t pid_t;
# define __pid_t_defined
#endif
可见pid_t
等同于__pid_t
,继续寻找__pid_t
的定义。
头文件<sys/types.h>
中包含了头文件<bits/types.h>
,根据名称可见与类型的定义相关,我们在头文件<bits/types.h>
中找到了__pid_t
的定义如下:
#if __WORDSIZE == 32
#define __STD_TYPE __extension__ typedef
#elif __WORDSIZE == 64
# define __STD_TYPE typedef
#else
# error
#endif__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */
也就是说如果我们编译的程序是 32 位的,那么__pid_t
的定义如下:
__extension__ typedef __PID_T_TYPE __pid_t;
如果我们编译的程序是 64 位的,那么__pid_t
的定义如下:
typedef __PID_T_TYPE __pid_t;
其中__extension__
的作用是:GCC 对标准 C 语言进行了扩展,但用到这些扩展功能时,编译器会提出警告,使用__extension__
关键字会告诉GCC 不要提出警告。
__pid_t
的定义等同于__PID_T_TYPE
,我们继续寻找__PID_T_TYPE
的定义,在头文件<bits/typesizes.h>
中我们发现__PID_T_TYPE
的定义如下:
#define __PID_T_TYPE __S32_TYPE
至此,我们找到了pid_t
的定义等同于__S32_TYPE
。那__S32_TYPE
又是什么类型呢?我们返回至头文件<bits/types.h>
发现有如下定义:
#define __S32_TYPE int
至此,我们得出如下结论:
pid_t 等于 int。
Linux pid_t 类型的定义相关推荐
- linux下字节类型怎么定义,linux的sys/types.h 基本系统数据类型
sys/types.h 的 中文名称 为 基本系统数据类型 在应用程序源文件中包含 以访问 _LP64 和 _ILP32 的定义. 此头文件还包含适当时应使用的多个基本派生类型.尤其是以下类型更为重要 ...
- linux 进程调度类型 总结,Linux进程模型总结
来源于网络 原创不详 Linux进程通过一个task_struct结构体描述,在linux/sched.h中定义,通过理解该结构,可更清楚的理解linux进程模型. 包含进程所有信息的task_s ...
- linux shell 自定义函数(定义、返回值、变量作用域)介绍
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...
- linux时间类型localtime_r
linux时间类型localtime_r,struct tm *p gettimeofday(&now ,NULL):取得当前时间的参数值,now可以是struct timespec 或者 s ...
- Linux文件类型及颜色标识整理
Linux文件类型及颜色标识整理 使用工具: ls命令 ls –l:以常格式显示文件及目录的详细信息 例如:-rw-r--r-- 1 root root 0 10月 12 13:32 2 ...
- linux文件类型及用户相关命令
Linux文件类型: 普通文件:-,file(内容格式) 目录文件:d 块设备: b 字符设备:c 符号链接文件:l 套接字文件:s 命名管道文件:p 文件:属主.属组 属主:拥有者 属组:所属的组 ...
- linux machine start,Linux中的MACH定义之MACHINE_START / MACHINE_END
(写在转载之前) 在linux中machine对应一个设备,对于开发者而言对应一个新的项目,项目开展的初始需要对应定义一个MACH,在arch/arm/mach-xxx/目录下,此文件中定义了GPIO ...
- Linux基本命令及Linux文件类型
Linux文件类型 1.普通文件它最常使用的一类文件,其特点是不包含有文件系统的结构信息.通常用户所接触到的文件,如图形文件.数据文件.文档文件.声音文件等都属于这种文件.这种类型的文件按其内部结构又 ...
- Linux文件类型发布啦!
在windows下面是通过文件的扩展名来区分文件类型的,但是在linux中却不是这儿样的.在linux中就没有所谓的文件扩展名,一个linux文件能不能被执行时取决于它的属性中是否有x,与文件名一点关 ...
最新文章
- Docker网络模型(八)
- 《锋利的jQuery》之jQuery简介
- HashMap是如何工作的
- 进程间的通讯(IPC)方式
- vue中的ES6语法整理1
- 我的笔记本的鼠标又乱跑了!寻求帮助!
- 怎么查mac电脑是不是正品_mac新手必看教程—苹果Mac电脑怎么录屏?
- 解决ionic在手机上拍照图片旋转的问题
- 假设linux分配给u盘设备名是,嵌入式linux开发基础试卷-应用物理A答案
- codevs 1388 砍树
- 2020华为软挑热身赛
- 好看的PPT导航栏有哪些制作技巧
- W25Q256编程时需要关注的器件特性
- QQ音乐特有的.qmc3文件 转换成.mp3
- 【社招Java】腾讯、阿里,疯狂java讲义第五版pdf百度云
- android tv 文件管理,电视必备!5款文件管理器强力推荐
- AutoSar之CAN网络管理
- 如何用定积分求椭圆的周长_怎么用微积分求椭圆的周长?
- gazebo构建仿真场景并制作机器人模型
- python将pdf转成excel_PDF转EXCEL,python的这个技能知道吗?