glibc和libc都是linux下的c函式庫,
libc是linux下的ansi c的函式庫;
glibc是linux下的gun c的函式庫;
ansi c和gnu c有什麼區別呢?
ansi
c是基本的c語言函式庫,包含了c語言最基本的庫函式。這個庫可以根據 標頭檔案劃分為 15 個部分,其中包括:
:包含用來測試某個特徵字元的函式的函式原型,以及用來轉換大小寫字母的函式原型;
:定義用來報告錯誤條件的巨集;
浮點常數 ():包含系統的浮點數大小限制;
數學常數
():包含數學庫函式的函式原型;
標準定義 (:包含執行某些計算c所用的常見的函式定義;
標準 i/o ():包含標準輸入輸出庫函式的函式原型,以及他們所用的資訊;
工具函式
():包含數字轉換到文字以及文字轉換到數字的函式原型,還有記憶體分配、隨機數字以及其他實用函式的函式原型;
字串操作 ()、:包含字串處理函式的函式原型;
時間和日期
():包含時間和日期操作的函式原型和型別;
可變參數列 ():定義巨集,用於處理未知數值和型別的函式的引數列表;
訊號 ():包含函式原型和巨集,用於處理程式執行期間可能出現的各種條件;
非區域性跳轉
():包含可以繞過一般函式呼叫並返回序列的函式的原型;
本地資訊 ():包含函式原型和其他資訊,使程式可以針對所執行的地區進行修改。地區的表示方法可以使計算機系統處理不同的資料表達約定,如全世界的日期、時間、美元數和大數字
程式斷言 ()
:包含巨集和資訊,用於進行診斷,幫助程式除錯。這在其他的c語言的ide中都是有的。
而gnu
c函式庫是一種類似於第三方外掛程式的東西,由於linux是用c語言寫的,所以linux的一些操作是用c語言實現的,所以gun組織開發了乙個c語言的庫
用於我們更好的利用c語言開發基於linux作業系統的程式。其實我們可以把它理解為類似於qt是乙個c++的第三方函式庫一樣。
不過現在的不同的linux的發行版本對這兩個函式庫有不同的處理方法,有的可能已經整合在同乙個庫里了,例如ubuntu就只有glibc。
Linux的靜態函式庫和動態函式庫
一 在linux中,有兩種函式庫,以 so字尾命名的是動態函式庫,以 a字尾命名的是靜態函式庫 二 靜態函式庫 1 靜態函式庫是多個目標檔案 o的集合 2 可以使用ar命令 archiver 來生成.a檔案 gcc c part a.c gcc c part b.c ar r libtest.a p...
函式庫檔案
乙個很簡單的問題除錯了好久,不過還算有收穫。現總結一下 1.vs2008中 math.h 標頭檔案中沒有定義m pi,如果程式確實要用m pi則需自己定義。define m pi 3.14159265358979323846 2.如果程式中自己定義的函式比較多,為了除錯方便使用方便,可以將這些函式都...
標準函式庫
1 rand與srand函式產生偽隨機數 cpp view plain copy print?intrand void void srand unsigned intseed rand返回乙個範圍在0和rand max之間的偽隨機數,為了避免程式每次執行時獲得相同的隨機數序列,可以使用srand函式...