庫函數(shù)(Library function)是把函數(shù)放到庫里,供別人使用的一種方式。.方法是把一些常用到的函數(shù)編完放到一個文件里,供不同的人進(jìn)行調(diào)用。調(diào)用的時候把它所在的文件名用#include加到里面就可以了。一般是放到lib文件里的。
成都創(chuàng)新互聯(lián)是專業(yè)的淶源網(wǎng)站建設(shè)公司,淶源接單;提供成都網(wǎng)站制作、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行淶源網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
一般是指編譯器提供的可在c源程序中調(diào)用的函數(shù)。可分為兩類,一類是c語言標(biāo)準(zhǔn)規(guī)定的庫函數(shù),一類是編譯器特定的庫函數(shù)。
由于版權(quán)原因,庫函數(shù)的源代碼一般是不可見的,但在頭文件中你可以看到它對外的接口
庫函數(shù)簡介。
C語言的語句十分簡單,如果要使用C語言的語句直接計(jì)算sin或cos函數(shù),就需要編寫頗為復(fù)雜的程序。因?yàn)镃語言的語句中沒有提供直接計(jì)算sin或cos函數(shù)的語句。又如為了顯示一段文字,我們在C語言中也找不到顯示語句,只能使用庫函數(shù)printf。
C語言的庫函數(shù)并不是C語言本身的一部分,它是由編譯程序根據(jù)一般用戶的需要編制并提供用戶使用的一組程序。C的庫函數(shù)極大地方便了用戶,同時也補(bǔ)充了C語言本身的不足。事實(shí)上,在編寫C語言程序時,應(yīng)當(dāng)盡可能多地使用庫函數(shù),這樣既可以提高程序的運(yùn)行效率,又可以提高編程的質(zhì)量。
這里調(diào)用的是靜態(tài)庫。
函數(shù)庫:函數(shù)庫是由系統(tǒng)建立的具有一定功能的函數(shù)的集合。庫中存放函數(shù)的名稱和對應(yīng)的目標(biāo)代碼,以及連接過程中所需的重定位信息。用戶也可以根據(jù)自己的需要建立自己的用戶函數(shù)庫。
庫函數(shù):存放在函數(shù)庫中的函數(shù)。庫函數(shù)具有明確的功能、入口調(diào)用參數(shù)和返回值。
連接程序:將編譯程序生成的目標(biāo)文件連接在一起生成一個可執(zhí)行文件。
頭文件:有時也稱為包含文件。C語言庫函數(shù)與用戶程序之間進(jìn)行信息通信時要使用的數(shù)據(jù)和變量,在使用某一庫函數(shù)時,都要在程序中嵌入(用#include)該函數(shù)對應(yīng)的頭文件。
由于C語言編譯系統(tǒng)應(yīng)提供的函數(shù)庫尚無國際標(biāo)準(zhǔn)。不同版本的C語言具有不同的庫函數(shù),用戶使用時應(yīng)查閱有關(guān)版本的C的庫函數(shù)參考手冊。我們以Turbo C為例簡介一下C的庫函數(shù),并附錄中給出了Turbo C的部分常用庫函數(shù)。
iv_t和lldiv_t;宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_M(jìn)AX和MB_CUR_M(jìn)AX等等;
常見的函數(shù)有malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等。具體內(nèi)容可以在編譯器的包含目錄stdlib.h頭文件中打開查看。
為了方便用戶編寫程序,C語言為用戶開發(fā)了大量的庫函數(shù),定義在。H文件,用戶可以調(diào)用這些函數(shù)來實(shí)現(xiàn)強(qiáng)大的功能。因此,對于用戶來說,這些函數(shù)的使用是提高編程水平的關(guān)鍵。
擴(kuò)展資料:
以下內(nèi)容適用于頭文件
1.對于具有外部存儲類型的標(biāo)識符,可以在任何其他源程序文件中聲明后引用它們,這樣用戶就可以完全將具有外部存儲類型的標(biāo)識符的一些聲明放在頭文件中。
2.具體來說,頭文件可以包括用戶構(gòu)造的數(shù)據(jù)類型(例如枚舉類型)、外部變量、外部函數(shù)、常量和具有一定通用性或公共量的內(nèi)聯(lián)函數(shù)。一般的變量和函數(shù)定義不應(yīng)該放在頭文件中。
其他:
雙假設(shè)(雙x,雙y);//給定一個直角三角形的兩條邊的長度,求斜邊的長度。
雙ldexp(雙x,int指數(shù));//計(jì)算x*(2的指數(shù)次方)。
雙poly(Doublex,intdegree,Doublecoeffs[])//計(jì)算多項(xiàng)式。
Ntmatherr(structexception*e)//數(shù)學(xué)錯誤計(jì)算處理程序。
下面給出Turbo C的全部".h"文件。Turbo C頭文件:
頭文件
說明
alloc.h 說明內(nèi)存管理函數(shù)(分配、釋放等)。
assert.h 定義 assert調(diào)試宏。
bios.h 說明調(diào)用IBM—PC ROM BIOS子程序的各個函數(shù)。
conio.h 說明調(diào)用DOS控制臺I/O子程序的各個函數(shù)。
ctype.h 包含有關(guān)字符分類及轉(zhuǎn)換的名類信息(如 isalpha和toascii等)。
dir.h 包含有關(guān)目錄和路徑的結(jié)構(gòu)、宏定義和函數(shù)。
dos.h 定義和說明MSDOS和8086調(diào)用的一些常量和函數(shù)。
error.h 定義錯誤代碼的助記符。
fcntl.h 定義在與open庫子程序連接時的符號常量。
float.h 包含有關(guān)浮點(diǎn)運(yùn)算的一些參數(shù)和函數(shù)。
graphics.h 說明有關(guān)圖形功能的各個函數(shù),圖形錯誤代碼的常量定義,正對不同驅(qū)動程序的各種顏色值,及函數(shù)用到的一些特殊結(jié)構(gòu)。
io.h 包含低級I/O子程序的結(jié)構(gòu)和說明。
limit.h 包含各環(huán)境參數(shù)、編譯時間限制、數(shù)的范圍等信息。
math.h 說明數(shù)學(xué)運(yùn)算函數(shù),還定了 HUGE VAL 宏, 說明了matherr和matherr子程序用到的特殊結(jié)構(gòu)。
mem.h 說明一些內(nèi)存操作函數(shù)(其中大多數(shù)也在STRING.H中說明)。
process.h 說明進(jìn)程管理的各個函數(shù),spawn…和EXEC …函數(shù)的結(jié)構(gòu)說明。
setjmp.h 定義longjmp和setjmp函數(shù)用到的jmp buf類型,說明這兩個函數(shù)。
share.h 定義文件共享函數(shù)的參數(shù)。
signal.h 定義SIG[ZZ(Z] [ZZ)]IGN和SIG[ZZ(Z] [ZZ)]DFL常量,說明rajse和signal兩個函數(shù)。
stddef.h 定義讀函數(shù)參數(shù)表的宏。(如vprintf,vscarf函數(shù))。
stddef.h 定義一些公共數(shù)據(jù)類型和宏。
stdio.h 定義Kernighan和Ritchie在Unix System V 中定義的標(biāo)準(zhǔn)和擴(kuò)展的類型和宏。還定義標(biāo)準(zhǔn)I/O 預(yù)定義流:stdin,stdout和stderr,說明 I/O流子程序。
stdlib.h 說明一些常用的子程序:轉(zhuǎn)換子程序、搜索/ 排序子程序等。
string.h 說明一些串操作和內(nèi)存操作函數(shù)。
sys\stat.h 定義在打開和創(chuàng)建文件時用到的一些符號常量。
sys\types.h 說明ftime函數(shù)和timeb結(jié)構(gòu)。
sys\time.h 定義時間的類型time[ZZ(Z] [ZZ)]t。
time.h 定義時間轉(zhuǎn)換子程序asctime、localtime和gmtime的結(jié)構(gòu),ctime、 difftime、 gmtime、 localtime和stime用到的類型,并提供這些函數(shù)的原型。
value.h 定義一些重要常量,包括依賴于機(jī)器硬件的和為與Unix System V相兼容而說明的一些常量,包括浮點(diǎn)和雙精度值的范圍。C系統(tǒng)提供了豐富的系統(tǒng)文件,稱為庫文件。C的庫文件分為兩類,一類是擴(kuò)展名為".h"的文件,稱為頭文件,在前面的包含命令中我們已多次使用過。在".h"文件中包含了常量定義、 類型定義、宏定義、函數(shù)原型以及各種編譯選擇設(shè)置等信息。另一類是函數(shù)庫,包括了各種函數(shù)的目標(biāo)代碼,供用戶在程序中調(diào)用。通常在程序中調(diào)用一個庫函數(shù)時,要在調(diào)用之前包含該函數(shù)原型所在的".h" 文件。
字符處理函數(shù)
本類別函數(shù)用于對單個字符進(jìn)行處理,包括字符的類別測試和字符的大小寫轉(zhuǎn)換
頭文件
ctype.h
函數(shù)列表
函數(shù)類別
函數(shù)用途
詳細(xì)說明
字符測試
是否字母和數(shù)字
isalnum
是否字母
isalpha
是否控制字符
iscntrl
是否數(shù)字
isdigit
是否可顯示字符(除空格外)
isgraph
是否可顯示字符(包括空格)
isprint
是否既不是空格,又不是字母和數(shù)字的可顯示字符
ispunct
是否空格
isspace
是否大寫字母
isupper
是否16進(jìn)制數(shù)字(0-9,A-F)字符
isxdigit
字符大小寫轉(zhuǎn)換函數(shù)
轉(zhuǎn)換為大寫字母
toupper
轉(zhuǎn)換為小寫字母
tolower
地區(qū)化
本類別的函數(shù)用于處理不同國家的語言差異。
頭文件
local.h
函數(shù)列表
函數(shù)類別
函數(shù)用途
詳細(xì)說明
地區(qū)控制
地區(qū)設(shè)置
setlocale
數(shù)字格式約定查詢
國家的貨幣、日期、時間等的格式轉(zhuǎn)換
localeconv
數(shù)學(xué)函數(shù)
本分類給出了各種數(shù)學(xué)計(jì)算函數(shù),必須提醒的是ANSI
C標(biāo)準(zhǔn)中的數(shù)據(jù)格式并不符合IEEE754標(biāo)準(zhǔn),一些C語言編譯器卻遵循IEEE754(例如frinklin
C51)
頭文件
math.h
函數(shù)列表
函數(shù)類別
函數(shù)用途
詳細(xì)說明
錯誤條件處理
定義域錯誤(函數(shù)的輸入?yún)?shù)值不在規(guī)定的范圍內(nèi))
值域錯誤(函數(shù)的返回值不在規(guī)定的范圍內(nèi))
三角函數(shù)
反余弦
acos
反正弦
asin
反正切
atan
反正切2
atan2
余弦
cos
正弦
sin
正切
tan
雙曲函數(shù)
雙曲余弦
cosh
雙曲正弦
sinh
雙曲正切
tanh
指數(shù)和對數(shù)
指數(shù)函數(shù)
exp
指數(shù)分解函數(shù)
frexp
乘積指數(shù)函數(shù)
fdexp
自然對數(shù)
log
以10為底的對數(shù)
log10
浮點(diǎn)數(shù)分解函數(shù)
modf
冪函數(shù)
冪函數(shù)
pow
平方根函數(shù)
sqrt
整數(shù)截?cái)啵^對值和求余數(shù)函數(shù)
求下限接近整數(shù)
ceil
絕對值
fabs
求上限接近整數(shù)
floor
求余數(shù)
fmod
本分類函數(shù)用于實(shí)現(xiàn)在不同底函數(shù)之間直接跳轉(zhuǎn)代碼。
頭文件
setjmp.h
io.h
函數(shù)列表
函數(shù)類別
函數(shù)用途
詳細(xì)說明
保存調(diào)用環(huán)境
setjmp
恢復(fù)調(diào)用環(huán)境
longjmp
信號處理
該分類函數(shù)用于處理那些在程序執(zhí)行過程中發(fā)生例外的情況。
頭文件
signal.h
函數(shù)列表
函數(shù)類別
函數(shù)用途
詳細(xì)說明
指定信號處理函數(shù)
signal
發(fā)送信號
raise
可變參數(shù)處理
本類函數(shù)用于實(shí)現(xiàn)諸如printf,scanf等參數(shù)數(shù)量可變底函數(shù)。
頭文件
stdarg.h
函數(shù)列表
函數(shù)類別
函數(shù)用途
詳細(xì)說明
可變參數(shù)訪問宏
可變參數(shù)開始宏
va_start
可變參數(shù)結(jié)束宏
va_end
可變參數(shù)訪問宏
訪問下一個可變參數(shù)宏
va_arg
輸入輸出函數(shù)
該分類用于處理包括文件、控制臺等各種輸入輸出設(shè)備,各種函數(shù)以“流”的方式實(shí)現(xiàn)
頭文件
stdio.h
函數(shù)列表
函數(shù)類別
函數(shù)用途
詳細(xì)說明
文件操作
刪除文件
remove
修改文件名稱
rename
生成臨時文件名稱
tmpfile
得到臨時文件路徑
tmpnam
文件訪問
關(guān)閉文件
fclose
刷新緩沖區(qū)
fflush
打開文件
fopen
將已存在的流指針和新文件連接
freopen
設(shè)置磁盤緩沖區(qū)
setbuf
設(shè)置磁盤緩沖區(qū)
setvbuf
格式化輸入與輸出函數(shù)
格式輸出
fprintf
格式輸入
fscanf
格式輸出(控制臺)
printf
格式輸入(控制臺)
scanf
格式輸出到緩沖區(qū)
sprintf
從緩沖區(qū)中按格式輸入
sscanf
格式化輸出
vfprintf
格式化輸出
vprintf
格式化輸出
vsprintf
字符輸入輸出函數(shù)
輸入一個字符
fgetc
字符串輸入
fgets
字符輸出
fputc
字符串輸出
fputs
字符輸入(控制臺)
getc
字符輸入(控制臺)
getchar
字符串輸入(控制臺)
gets
字符輸出(控制臺)
putc
字符輸出(控制臺)
putchar
字符串輸出(控制臺)
puts
字符輸出到流的頭部
ungetc
直接輸入輸出
直接流讀操作
fread
直接流寫操作
fwrite
文件定位函數(shù)
得到文件位置
fgetpos
文件位置移動
fseek
文件位置設(shè)置
fsetpos
得到文件位置
ftell
文件位置復(fù)零位
remind
錯誤處理函數(shù)
錯誤清除
clearerr
文件結(jié)尾判斷
feof
文件錯誤檢測
ferror
得到錯誤提示字符串
perror
實(shí)用工具函數(shù)
本分類給出了一些函數(shù)無法按以上分類,但又是編程所必須要的。
頭文件
stdlib.h
函數(shù)列表
函數(shù)類別
函數(shù)用途
詳細(xì)說明
字符串轉(zhuǎn)換函數(shù)
字符串轉(zhuǎn)換為整數(shù)
atoi
字符串轉(zhuǎn)換為長整數(shù)
atol
字符串轉(zhuǎn)換為浮點(diǎn)數(shù)
strtod
字符串轉(zhuǎn)換為長整數(shù)
strtol
字符串轉(zhuǎn)換為無符號長整型
strtoul
偽隨機(jī)序列產(chǎn)生函數(shù)
產(chǎn)生隨機(jī)數(shù)
rand
設(shè)置隨機(jī)函數(shù)的起動數(shù)值
srand
存儲管理函數(shù)
分配存儲器
calloc
釋放存儲器
free
存儲器分配
malloc
重新分配存儲器
realloc
環(huán)境通信
中止程序
abort
退出程序執(zhí)行,并清除環(huán)境變量
atexit
退出程序執(zhí)行
exit
讀取環(huán)境參數(shù)
getenv
程序掛起,臨時執(zhí)行一個其他程序
system
搜索和排序工具
二分查找(數(shù)據(jù)必須已排序)
bsearch
快速排序
qsort
整數(shù)運(yùn)算函數(shù)
求絕對值
abs
div
得到除法運(yùn)算底商和余數(shù)
求長整形底絕對值
labs
求長整形除法的商和余數(shù)
ldiv
多字節(jié)字符函數(shù)
得到多字節(jié)字符的字節(jié)數(shù)
mblen
得到多字節(jié)字符的字節(jié)數(shù)
mbtowc
多字節(jié)字符轉(zhuǎn)換
wctomb
多字節(jié)字符的字符串操作
將多字節(jié)串轉(zhuǎn)換為整數(shù)數(shù)組
mbstowcs
將多字節(jié)串轉(zhuǎn)換為字符數(shù)組
mcstowbs
字符串處理
本分類的函數(shù)用于對字符串進(jìn)行合并、比較等操作
頭文件
string.h
函數(shù)列表
函數(shù)類別
函數(shù)用途
詳細(xì)說明
字符串拷貝
塊拷貝(目的和源存儲區(qū)不可重疊)
memcpy
塊拷貝(目的和源存儲區(qū)可重疊)
memmove
串拷貝
strcpy
按長度的串拷貝
strncpy
字符串連接函數(shù)
串連接
strcat
按長度連接字符串
strncat
串比較函數(shù)
塊比較
memcmp
字符串比較
strcmp
字符串比較(用于非英文字符)
strcoll
按長度對字符串比較
strncmp
字符串轉(zhuǎn)換
strxfrm
字符與字符串查找
字符查找
memchr
字符查找
strchr
字符串查找
strcspn
字符串查找
strpbrk
字符串查找
strspn
字符串查找
strstr
字符串分解
strtok
雜類函數(shù)
字符串設(shè)置
memset
錯誤字符串映射
strerror
求字符串長度
strlen
日期和時間函數(shù)
本類別給出時間和日期處理函數(shù)
頭文件
time.h
函數(shù)列表
函數(shù)類別
函數(shù)用途
詳細(xì)說明
時間操作函數(shù)
得到處理器時間
clock
得到時間差
difftime
設(shè)置時間
mktime
得到時間
time
時間轉(zhuǎn)換函數(shù)
得到以ASCII碼表示的時間
asctime
得到字符串表示的時間
ctime
得到指定格式的時間
strftime
函數(shù)庫未來的發(fā)展方向
本部分用于說明各類別函數(shù)庫在將來如何發(fā)展。
序號
庫類別
頭文件
詳細(xì)說明
1
錯誤處理
errno.h
2
字符處理
ctype.h
3
地區(qū)化
local.h
4
數(shù)學(xué)函數(shù)
math.h
5
信號處理
signal.h
6
輸入輸出
stdio.h
7
實(shí)用工具程序
stdlib.h
8
字符串處理
string.h
C語言的庫函數(shù)在LIB目錄里面。
庫函數(shù)是將函數(shù)封裝入庫,供用戶使用的一種方式。方法是把一些常用到的函數(shù)編完放到一個文件里,供不同的人進(jìn)行調(diào)用。調(diào)用的時候把它所在的文件名用#include加到里面就可以了。一般是放到lib文件里的。
擴(kuò)展資料:
C語言的語句十分簡單,如果要使用C語言的語句直接計(jì)算sin或cos函數(shù),就需要編寫頗為復(fù)雜的程序。因?yàn)镃語言的語句中沒有提供直接計(jì)算sin或cos函數(shù)的語句。又如為了顯示一段文字,我們在C語言中也找不到顯示語句,只能使用庫函數(shù)printf。
C語言的庫函數(shù)并不是C語言本身的一部分,它是由編譯程序根據(jù)一般用戶的需要編制并提供用戶使用的一組程序。C的庫函數(shù)極大地方便了用戶,同時也補(bǔ)充了C語言本身的不足。事實(shí)上,在編寫C語言程序時,應(yīng)當(dāng)盡可能多地使用庫函數(shù),這樣既可以提高程序的運(yùn)行效率,又可以提高編程的質(zhì)量。
有一些代碼,我們編程時經(jīng)常用到,或者我們對某些部分很熟悉,并寫出了一些可用的接口。這時,我們會考慮把這些c文件做成一個lib庫,以方便自己使用,或這給別人調(diào)用。
我這里介紹下在vc++6.0下如何來制作靜態(tài)庫:
第一步:創(chuàng)建一個工程,選擇Win32Static Library,輸入工程名。這時就創(chuàng)建好了。
第二步:工程創(chuàng)建好了,再點(diǎn)擊新建,這時選擇文件,選擇c++ source file選項(xiàng),創(chuàng)建一個.c
文件。
在這個文件中,你可以寫入你要做成庫的c函數(shù)。當(dāng)然,可以繼續(xù)創(chuàng)建其他c文件,然后將要供外部使用的接口單獨(dú)放到頭文件中,一般而言,一個c文件對應(yīng)一個頭文件。
第三步:完成以上步驟后,我們就可以生成庫了。事實(shí)上,我們點(diǎn)擊編譯即可,這時就可以生成.lib文件了。
一般情況下,是可以正常生成lib文件的。有頭文件和lib文件就可以給別人用了。然后我們可以寫一個測試函數(shù)來試試可不可以使用。
要調(diào)用生成的lib中的函數(shù),就要引入頭函數(shù)。這時,你把lib和頭文件放入當(dāng)前工程中,但build的時候卻顯示了連接錯誤。那是因?yàn)槟銢]有把lib文件包含進(jìn)來。加入下面這句話即可了:
#pragma comment(lib, "mylib.lib ")
Ok,自己的lib庫就這樣做成了。以后可以隨便調(diào)用了。
網(wǎng)站標(biāo)題:c語言函數(shù)庫文件 C語言的函數(shù)庫
文章分享:http://chinadenli.net/article14/hgoede.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、面包屑導(dǎo)航、全網(wǎng)營銷推廣、動態(tài)網(wǎng)站、營銷型網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)