作为Linux的前身,unix标准化是十分重要的。我在这里挑几个重要的点说明。
1:Linux中各种限制。Linux中限制有编译时限制和运行时限制,另外有一些限制是由于我们的实现不同而不同,因此我们需要调用对应的函数获取对应的值不同。(eg:编译时限制:整形最大值是什么。
运行时限制:文件名可以有多少个字符)
对应的我们可以调用对应的内容获取其限制值:
(1)编译时限制 --->头文件。
(2)不是与文件或目录相关的运行时限制--->sysconf函数
(3)与文件或目录相关的运行时限制---->pathconf或fpathconf
在ISO C中定义的限制都是编译时限制,在Linux limits.h文件中定义了C标准限制。在float.h中定义了对于浮点数的各种限制。如下图时ISO C在limint.h头文件中的各种限制值。
POSIX定义了许多系统实现的限制,这些限制被分成了5类。
(1)不变的最小值,下图中的19个常量。
(2)不变值:SSIZE_MAX。
(3)运行时可以增加的值:
(4)运行时不变的值。
(5)路径名可变值。
等等,这些我就不做过多介绍了,因为介绍这么多恐怕我们也记不住。在日后shi实际使用过程中逐一介绍。
实例:
下面获取两个限制的值,
#include
#include
#include
int main()
{
printf("%lu\n", sysconf(_SC_LINE_MAX));
printf("%lu\n", pathconf(".", _PC_LINK_MAX));
}
来个小总结:关于限制获取这块,我们就讲这么多。我们主要是使用这些限制的值,获取方法有两种,头文件、库函数。
2:这部分我们主要将定义的各种数据类型,主要介绍基本的数据类型。如下图所示
这些数据类型是我在一本书上截取下来的,日后如果使用到这种数据类型的时候会逐一的详细介绍。还有一些其他的数据类型:int double long float char short 等,这里就不在这里逐一介绍了。
3:我介绍一下ISO C的各种头文件,至于其他头文件就不逐一列出了。assert.h:验证程序某些判断是否正确。如下是一个实验。
输出结果
limit.h各种限制。
time.h获取时间的各种函数。
string.h:字符串操作函数集。
stdlib.h:实用程序函数。
signal.h:信号相关内容。
wchar.h:宽字符相关的内容。
至于其他的我就直接列出即可,作为了解
本文由博客群发一文多发等运营工具平台 OpenWrite 发布