學習筆記 8 14

2021-08-23 12:21:58 字數 856 閱讀 1063

1.庫函式和系統呼叫區別

庫函式呼叫

系統呼叫

平台移植性好

依賴於核心,不保證移植性

呼叫函式庫中的一段程式(或函式)

呼叫系統核心的服務

乙個普通功能函式的呼叫

是作業系統的乙個入口點

在使用者空間執行

在核心空間執行

它的執行時間屬於「使用者時間」

它的執行時間屬於「系統」時間

屬於過程呼叫,呼叫開銷較小

在使用者空間和核心上下文環境間切換,開銷較大

庫函式數量較多

unix中大約有90個系統呼叫,較少

典型的c函式庫呼叫:printf scanf malloc 

典型的系統呼叫:fork open write

兩者間 聯絡

一般而言,跟核心功能與作業系統特性緊密相關的服務,由系統呼叫提供;

具有共通特性的功能一般需要較好的平台移植性,故而由庫函式提供。

庫函式與系統呼叫在功能上相互補充,如程序間通訊資源的管理,程序控制等功能與平台特性和核心息息相關,必須由系統呼叫來實現。

檔案 i/o操作等各平台都具有的共通功能一般採用庫函式,也便於跨平台移植。

某些情況下,庫函式與系統呼叫也有交集,

如 庫函式中的i/o操作的內部實現依然需要呼叫系統的i/o方能實現。

2.

void    main(    int    argc,    char    *argv    )

char    *argv    :    argv 是乙個指標陣列,他的元素個數是argc,存放的是指向每乙個引數的指標

8 14學習筆記

學習檔案的輸入與輸出,學習的函式 fopen fclose fprintf fsanf rewind getc putc fgets fputs 關於fopen 定義 fopen in z const char filename,in z const char mode 即fopen 檔名稱,開啟模...

訓練日記8 14

今天做了幾個佇列的,真的爽額,花了差不多一上午的時間看例題,弄什麼是單調佇列,這個問題真的很嚴重。做了乙個移動窗戶問題之後,看了乙個給你乙個樹狀圖,求最大矩形面積的問題,直接做的話 o n2 而佇列能的時間的複雜度降到o n 初次接觸這種方法,感覺這個方法很溜,當然讓人也是很炸,光是求最大的矩形面積...

8 14 訓練日記

今天主要看了容斥 容斥原理 重要應用 求出乙個數n在區間 1,m 裡面有多少個數與它互質。假設資料不超過int型。實現過程分為兩步 1,求出m的質因子 並儲存在陣列裡面 2,求出區間 1,n 裡面有多少個數與m不互質。include include int p 10 儲存質因子 int型n不會超過1...