Linux作業系統關於C library的理解?

時間 2021-06-04 05:55:35

1樓:冬火

前面幾位回答的已經挺全面了,再補充點參考資料吧。

glibc , C Library 與 Linux system API 的關係可以參考《unix環境高階程式設計》1.11節

關於system call,並不需要什麼特別的呼叫方式,直接調就好了,open,close,lseek什麼的全都是system call

C Library包含的函式,《unix環境高階程式設計》2.2.1節和2.2.2節列出了一些標準標頭檔案及其功能,根據所需功能去看標頭檔案不就好了。

2樓:依雲

1. 不是。glibc 是一種 C 標準庫的實現(但 glibc 裡邊不僅僅有 C 標準庫的內容,還有 POSIX 的內容,以及一些其它的東西)。

除此之外還有不少針對嵌入式裝置開發的 C 庫,如 musl、uclibc 以及 Android 的 bionic。「Linux作業系統的API」是個很模糊的概念。Linux 的 C 庫是 POSIX 標準的一部分,不是核心 API 的一部分,不是 X Window、Wayland 或者其它任何桌面環境的標準的一部分。

2. 當然不是。不然你怎麼寫核心模組?除此之外基本上正常的專案都會用 C 標準庫,因為它是 C 語言的標準執行時嘛。

3. 看 C 語言教材、POSIX 或者 glibc 文件。

4. 是。核心 API 需要使用特別的方式(系統呼叫,x86_64 上是 syscall 指令,x86 上是 int $0x80 中斷)來呼叫。

C 標準庫使用的是呼叫 C 語言函式的呼叫約定。

為什麼作業系統 linux 是以fork exec的形式建程序

Will 說一下我的粗淺理解 因為關於程序執行,必定存在以下三種需求 1 建立乙個新程序並執行 2 將乙個正在執行的程序fork成若干個繼續執行3 不需要終止程序,就能讓程序直接載入新的程式檔案功能2或3去掉任何乙個,都沒法用剩下的兩個代替實現,而功能1卻可以用2和3來代替實現。換句話說功能1和2,...

為什麼說linux作業系統要比windows穩定?

劉娟 這完全是典型的倖存者偏差統計,如果你用過帶UI的linux,你就會知道Windows遠比linux穩定,主要是日常使用windows需要相容得太多太多了,導致各種各樣的問題,linux任務很單一,相容性差,所以你覺得穩定。 因為外行說的,外行傳的 應該說linux伺服器比windows伺服器穩...

大一學生想系統學習Linux作業系統推薦什麼書呢?

乖在海浬遊 剛接觸Linux的話建議找一些入門的書籍來看。入門書籍知識相對簡單,沒有長篇大論,能首先培養興趣。再者,先接觸基礎部分,對整體有個大概的了解,然後自己整理下學習路線,進行一步鞏固知識,做到有的放矢。針對入門的書籍,以前我做過一些分析,根據自己的學習情況總結了一些實踐性比較強,對學習更友好...