如何确定pid_t的最大值?

前端之家收集整理的这篇文章主要介绍了如何确定pid_t的最大值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何可移植地确定pid_t类型的最大值?我的系统上没有PID_MAX常量.

(注意,我的意思是数据类型允许的最大值,而不是系统将分配给进程的事实上的最大值.)

使用案例:我正在将用户提供的pid字符串规范转换为pid_t,并希望确保用户的输入不超过类型的容量.

解决方法

POSIX (2008) says

blksize_t,pid_t,and ssize_t shall be signed integer types.

和:

The implementation shall support one or more programming environments
in which the widths of blksize_t,size_t,ssize_t,and
suseconds_t are no greater than the width of type long.

因此,您可以将用户字符串转换为long,然后使用long pid检查pid_t类型的溢出; .. pid ==(pid_t)pid.

猜你在找的C&C++相关文章