歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux編程---一些系統相關的說明

Linux編程---一些系統相關的說明

日期:2017/3/1 9:42:57   编辑:Linux編程

這一篇應該比前兩篇先發的...結果我忘了...現在補上來...

http://www.linuxidc.com/Linux/2014-06/103325.htm

http://www.linuxidc.com/Linux/2014-06/103326.htm

原來自學過幾次linux,但都沒怎麼實踐(其實這次也是...).很多時候知識點還是混亂的.經過上學期的匯編總結,發現總結一下知識點還是蠻有好處的.自己在整理過程中,相當於是反刍了一次知識.也把遇到的一些問題更深入的探究了一番,所以這次繼續上次的形式~



1.一些系統相關的說明性的東西

1.1頭文件保留字的規則:

--以字母E後隨一數字或大寫字母開的頭名字,保留作為錯誤代碼名

--以’ls’或’to’後隨一小些字母開頭的名字,保留作為說明地區屬性的宏名

--以’LC_’後隨一大寫字母開頭的名字,保留作為說明地區屬性的宏名

--所有以’f’或’l’為後綴的數字函數名字,保留用於對float和long double類型的數據進行運算的函數.

--以’SIG’後隨一大寫字母開頭的名字,保留用於信號數

--頭文件<fcntl.h>保留以’l_’,’F_’,’O_’和’S_’為前綴的名字

--頭文件<limits.h>保留以’_MAX’為後綴的名字

--頭文件<signal.h>保留以’sa_’和’SA_’為前綴的名字

--頭文件<sys/stat.h>保留以’st_’和’S_’為前綴的名字

--頭文件<sys/times.h>保留以’tms_’為前綴的名字

1.2 特征測試宏

通常以一個下劃線開頭’_’.下面列出幾個,但是具體的有很多,到時候用到再搜索吧.

如下:

__USE_POSIX,__USE_POSIX2,__USE_XOPEN,_POSIX_SOURCE.

估計這些都可以在相關頭文件中找到定義吧.



1.3錯誤處理

這裡主要是說明變量errno.被系統調用和庫函數用來報告錯誤.

並且在多線程的程序中,每個線程都有一個errno.

在標准C中,可以用strerror來返回錯誤信息的串.

用perror可以直接顯示相關的錯誤信息.不過參數是個串..也就是錯誤信息串..



1.4 系統標識

gethostname可以得到主機的名字.

sethostname 可以設置主機的名字

uname 可以通過參數得到操作系統和主機的信息,具體包含操作系統名,計算機的主機名,操作系統的當前版本號,操作系統當前版本內的級別號,還有使用的硬件類型.



1.5 系統能力限制

--運行時的不變值

--運行時可增加值

--路徑名可變值

--數值限制值,主要是與數的表示有關的限制值.

--其他不變值.最大消息數(NL_MSGMAX),默認的進程優先數(NZERO)等.

--最小值

--最大值

這些東西基本都可以在APUE上面找到.

也可通過sysconf來查,不過參數也是需要查的......

相關的函數有pathconf和fpathconf.這兩個是查詢文件系統相關參數的.

推薦閱讀:

Linux 多線程同步(信號量) http://www.linuxidc.com/Linux/2012-09/70825.htm

Linux C++動態鏈接庫so編寫 http://www.linuxidc.com/Linux/2012-09/70502p2.htm

Linux多線程──主線程和子線程分別循環一定次數 http://www.linuxidc.com/Linux/2012-07/65201.htm

Linux多線程──3個子線程輪流運行 http://www.linuxidc.com/Linux/2012-07/65200.htm

Linux多線程──生產者消費者 http://www.linuxidc.com/Linux/2012-07/65199.htm

Linux多線程──讀者寫者問題 http://www.linuxidc.com/Linux/2012-07/65198.htm

Linux基礎編程 多線程中的互斥鎖 pthread_mutex_lock http://www.linuxidc.com/Linux/2012-07/65030.htm

Linux基礎編程 多線程同步 pthread_cond_signal http://www.linuxidc.com/Linux/2012-07/65031.htm

Copyright © Linux教程網 All Rights Reserved