Linux学习:unix的标准化的实现(Linux中各种限制-数据类型-各种标准化头文件介绍)

作为Linux的前身,unix标准化是十分重要的。我在这里挑几个重要的点说明。

1:Linux中各种限制。

Linux中限制有编译时限制和运行时限制,另外有一些限制是由于我们的实现不同而不同,因此我们需要调用对应的函数获取对应的值不同。(eg:编译时限制:整形最大值是什么。
运行时限制:文件名可以有多少个字符)
对应的我们可以调用对应的内容获取其限制值:
        (1)编译时限制 --->头文件。
        (2)不是与文件或目录相关的运行时限制--->sysconf函数
        (3)与文件或目录相关的运行时限制---->pathconf或fpathconf
    
在ISO C中定义的限制都是编译时限制,在Linux limits.h文件中定义了C标准限制。在float.h中定义了对于浮点数的各种限制。如下图时ISO C在limint.h头文件中的各种限制值。
file
POSIX定义了许多系统实现的限制,这些限制被分成了5类。
        (1)不变的最小值,下图中的19个常量。
        (2)不变值:SSIZE_MAX。
        (3)运行时可以增加的值:
        (4)运行时不变的值。
        (5)路径名可变值。
file
    等等,这些我就不做过多介绍了,因为介绍这么多恐怕我们也记不住。在日后shi实际使用过程中逐一介绍。
    
实例:
下面获取两个限制的值,
#include 
#include 
#include 

int main()
{
        printf("%lu\n", sysconf(_SC_LINE_MAX));
        printf("%lu\n", pathconf(".", _PC_LINK_MAX));
}
来个小总结:关于限制获取这块,我们就讲这么多。我们主要是使用这些限制的值,获取方法有两种,头文件、库函数。

2:这部分我们主要将定义的各种数据类型,主要介绍基本的数据类型。如下图所示


file

这些数据类型是我在一本书上截取下来的,日后如果使用到这种数据类型的时候会逐一的详细介绍。
还有一些其他的数据类型:int double long float char short 等,这里就不在这里逐一介绍了。

3:我介绍一下ISO C的各种头文件,至于其他头文件就不逐一列出了。

assert.h:验证程序某些判断是否正确。如下是一个实验。
file

输出结果


file
limit.h各种限制。
time.h获取时间的各种函数。
string.h:字符串操作函数集。
stdlib.h:实用程序函数。
signal.h:信号相关内容。
wchar.h:宽字符相关的内容。
至于其他的我就直接列出即可,作为了解
file

你可能感兴趣的:(Linux学习:unix的标准化的实现(Linux中各种限制-数据类型-各种标准化头文件介绍))