(1)linux具備現在一切功能完整的unix系統所具備的全部特徵,其中包括真正的多工虛擬記憶體,共享庫,需求裝載,優秀的記憶體管理以及tcp/ip網路支援等。
(2)linux的發行遵守gnu的通用公共許可證(gpl)
(3)相容絕大部分的unix標準(如ieee posix),遵從posix規範
標準主要有兩個:ansi c標準和posix標準
(1)ansi c
ansi c的目標是為各種作業系統上的c程式提供可移植性保證(例如linux和windows之間),而不僅僅限於類unix系統,定義了一系列標準庫。
(2)posix標準
posix是類unix系統都遵循的標準,無法在windows下直接編譯。
庫函式用以完成常見的特定功能,通常由某乙個組織製作發布,並形成一定的標準,可以應用於不同的平台而不需要做任何修改即具有極好的移植性。系統函式一般與作業系統有關,可移植性不高,很多情況下需要訪問系統特殊資源,在linux下,系統呼叫採用軟中斷來實現,使用系統呼叫時,該程式的狀態從使用者態切換到核心態。
系統呼叫需要注意以下幾點:
(1)系統呼叫函式通常在成功時返回零值,不成功時返回非零值。如果要檢查失敗原因,則要判斷全域性變數errno的值,errno中包含錯誤**,該變數在檔案errno.h標頭檔案中被宣告,為了列印出具體的errno值所對應的錯誤提示資訊,一般使用perror函式或strerror函式,如果應用程式中在系統呼叫出錯後使用perror(),可將錯誤相關的訊息寫入到標準輸出,描述呼叫系統函式或庫函式期間遇到的最後乙個錯誤。
(2)許多系統呼叫的返回資料通常通過引用引數傳遞。這時需要在函式引數中傳遞緩衝區位址,而返回的資料就儲存在該緩衝區中。
(3)不能認為系統呼叫函式比其他函式的執行效率高,因為系統函式呼叫是乙個非常耗時的過程。
linux基礎入門–常用命令–2
Linux下C語言開發基礎
程式例子是簡單的hello world!生成可執行檔案 命令 gcc hello.c o hello 執行程式 hello 螢幕即顯示hello world!gcc編譯器選項 o選項,表示輸出的可執行檔案。c選項表示只輸出目標 而不必輸出可執行檔案。g選項表示要求編譯器在編譯的時候提供對程式的除錯資...
C語言入門基礎
c語言的字符集包括 1 大小寫英文本母 2 數字 3 運算子 4 括號 5 標點符號 6 特殊符號 7 空白符 空格符 換行符 製表符 變數 程式執行過程中其值可以改變的量 變數有兩個要素 變數名與變數值 變數名 用識別符號命名,大小寫敏感,不能使用關鍵字 命名原則 見名知意 name xm 姓名 ...
c語言入門基礎
c語言的結構 1 hello world 簡單來說,乙個c程式就是由若干標頭檔案和函式組成。include 包含標頭檔案 主函式 int main printf hello world return 0 include 就是一條預處理命令,它的作用是通知c語言編譯系統在對c程式進行正式編譯之前需做一...