Úvod
Generallyreferstothefunctionsprovidedbythecompilerthatcanbecalledinthecsourceprogram.Canbedividedintotwocategories,oneisthelibraryfunctionspecifiedbytheClanguagestandard,andtheotheristhelibraryfunctionspecifictothecompiler.
Duetocopyrightreasons,thesourcecodeoflibraryfunctionsisgenerallyinvisible,butyoucanseetheintroductionofitsexternalinterfacelibraryfunctionsintheheaderfile.
TheClanguagestatementisverysimple.IfyouwanttousetheClanguagestatementtodirectlycalculatethesinorcosfunction,youneedtowritearathercomplicatedprogram.BecausetheClanguagestatementdoesnotprovideastatementthatdirectlycalculatesthesinorcosfunction.Anotherexampleistodisplayaparagraphoftext,wecannotfindthedisplaystatementintheClanguage,wecanonlyusethelibraryfunctionprintf.
ThelibraryfunctionsoftheClanguagearenotpartoftheClanguageitself.Itisasetofprogramscompiledandprovidedbythecompileraccordingtotheneedsofgeneralusers.TheClibraryfunctionsgreatlyfacilitateusers,andatthesametimesupplementthedeficienciesoftheClanguageitself.Infact,whenwritingClanguageprograms,libraryfunctionsshouldbeusedasmuchaspossible,sothatboththeefficiencyoftheprogramandthequalityofprogrammingcanbeimproved.
Zde se volá statická knihovna.
Základní pojmy
Functionlibrary:Thefunctionlibraryisacollectionoffunctionswithcertainfunctionsestablishedbythesystem.Thenameofthefunctionandthecorrespondingobjectcodearestoredinthelibrary,aswellastherelocationinformationrequiredduringtheconnectionprocess.Userscanalsobuildtheirownuserfunctionlibraryaccordingtotheirneeds.
Libraryfunctions:functionsstoredinthefunctionlibrary.Libraryfunctionshaveclearfunctions,entrycallparametersandreturnvalues.
Linkprogram:Linktheobjectfilesgeneratedbythecompilertogenerateanexecutablefile.
Headerfiles:Sometimescalledincludefiles.ThedataandvariablestobeusedforinformationcommunicationbetweentheClanguagelibraryfunctionandtheuserprogram.Whenusingalibraryfunction,theheaderfilecorrespondingtothefunctionmustbeembedded(using#include)intheprogram.
BecausethereisnointernationalstandardforthefunctionlibrarythattheClanguagecompilationsystemshouldprovide.DifferentversionsoftheClanguagehavedifferentlibraryfunctions,andusersshouldrefertothelibraryfunctionreferencemanualoftherelevantversionofCwhenusingit.Let'stakeTurboC?asanexampletointroducethelibraryfunctionsofC,andsomecommonlyusedlibraryfunctionsofTurboCaregivenintheappendix.
Devět kategorií
(1)Funkce I/O. Včetně různých operací I/O konzoly, souborů I/O s vyrovnávací pamětí a souborů I/O ve stylu UNIX.
Požadovaný zahrnut soubor:stdio.h
Například: getchar, putchar, printf, scanf, fopen, fclose, fgetc, fgets, fprintf, fsacnf, fputc, fputs, fseek, fread, fwrite atd.
(2)String,memoryandcharacterfunctions.Includingfunctionsforperformingvariousoperationsonstringsandperformingoperationsoncharacters.
Requiredincludefiles:string.h,mem.h,ctype.h,orstring.h
Například: funkce pro kontrolu znaků: isalnum, isalpha, isdigit, islower, Isspace atd.? Funkce pro manipulaci s řetězci: strcat, strchr, strcmp, strcpy, strlen, strstr atd.
(3)Mathematicalfunctions.Includingvariouscommonlyusedtrigonometricfunctions,hyperbolicfunctions,exponentialandlogarithmicfunctions,etc.
Needincludefile:math.h
Například: sin,cos,exp(etothepowerofx),log,sqrt(squareroot),pow(xofyPower)andsoon.
(4)Funkce související s časem, datem a systémem. Obsluha času a data a nastavení stavu počítačového systému atd.
Requiredincludefile:time.h
Forexample:timereturnsthetimeofthesystem;asctimereturnsthedateandtimeintheformofastring.
(5)Dynamické přidělení úložiště. Včetně funkcí "alokace" a "uvolnění" paměťového prostoru.
Requiredincludefiles:alloc.horstdlib.h
Například: callloc, free, malloc, realloc atd.
(6)Správa adresáře. Včetně funkcí pro vytváření, dotazování a změnu adresáře na disku.
(7)Řízení procesu. Včetně nejzákladnějších funkcí řízení procesu.
(8) Obrazovka znaků a grafické funkce. Včetně různých funkcí pro kreslení bodů, čar, kružnic, čtverců a vybarvování.
(9) Další funkce.
Obsah
①Funkcefunkceaoperacemůže být dokončena
②Thenumberandorderoftheparameters,aswellasthemeaningandtypeofeachparameter
③Význam a typ zpětné hodnoty
④Zahrnuje soubor, který je třeba použít
Thisisanecessaryconditionforthecorrectuseoflibraryfunctions.
Související rozdíly
(1)Libraryfunctionsarepartofthelanguageorapplicationprogram,whilesystemcallsaretheinterfaceprovidedbythekerneltotheapplicationprogram,andarepartofthesystem
(2)Libraryfunctionsareexecutedintheuseraddressspace,systemcallsareexecutedinthekerneladdressspace,libraryfunctionrunningtimebelongstousertime,systemcallsbelongtosystemtime,libraryfunctionoverheadissmall,andsystemcalloverheadislarge
(3)Funkce knihovny jsou ukládány do vyrovnávací paměti, systémová volání jsou bez vyrovnávací paměti
(4)Systemcallsdependontheplatform,libraryfunctionsdonotdependon
Knihovna vestavěných funkcí
1.TherelationshipbetweenClanguageandClanguagelibraryfunctionsissimilartotherelationshipbetweenChinesecharactersandclassicworks.Clanguageisacomputerprogramminglanguage,andClanguagefunctionlibraryisadocumentwritteninClanguage.ItisconvenientforlatecomerstousetheClanguagemoresimplyandquickly.
2,Clanguageisanintroductorylanguageforprogramming.SincetheClanguagestatementdoesnotprovideastatementtodirectlycalculatethesinorcosfunction,itwillcausedifficultyinwritingtheprogram;butthefunctionlibraryprovidesthesinandcosfunctions,whichcanbeusedtodirectlycall.Todisplayaparagraphoftext,wecan'tfindthedisplaystatementinClanguage,wecanonlyusethelibraryfunctionprintf.ThelibraryfunctionofClanguageisnotapartofClanguageitself,itisasetofprogramscompiledandprovidedbythecompileraccordingtotheneedsofgeneralusers.TheClibraryfunctionsgreatlyfacilitateusers,andatthesametimesupplementthedeficienciesoftheClanguageitself.WhenwritingaClanguageprogram,usinglibraryfunctionscannotonlyimprovetheoperatingefficiencyoftheprogram,butalsoimprovethequalityofprogramming.