作為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 發布