歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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