限制分为两种类型,编译时限制和运行时限制。
编译时限制也就是ISO C限制,就是编译程序的限制。就在头文件中,比如说INT的最大值,最小值等是在limits.h中定义的。
运行是限制包括系统页的大小,文件路径最大长度,进程可以打开的最大文件数等等。
以下系统调用可以确定运行时限制,sysconf(2)、pathconf(2)和fpathconf(2),其中,pathconf(2)和fpathconf(2)是与文件路径限制相关的,具体使用参考man。
shell中的getconf -a可以得到所有的限制,包括编译时限制和运行时限制。
常用的几个运行时限制:
文件路径最大长度:
int ret = pathconf("/", _PC_NAME_MAX);
进程可以打开的最大文件数:
int ret = sysconf(_SC_OPEN_MAX);
阅读(448) | 评论(1) | 转发(0) |