ANSI C和GUN C函式庫libc和glibc

2021-06-22 23:28:40 字數 1077 閱讀 1988

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函式...