Въведение
Generallyreferstothefunctionsprovidedbythecompilerthatcanbecalledinthecsourceprogram.Canbedividedintotwocategories,oneisthelibraryfunctionspecifiedbytheClanguagestandard,andtheotheristhelibraryfunctionspecifictothecompiler.
Duetocopyrightreasons,thesourcecodeoflibraryfunctionsisgenerallyinvisible,butyoucanseetheintroductionofitsexternalinterfacelibraryfunctionsintheheaderfile.
TheClanguagestatementisverysimple.IfyouwanttousetheClanguagestatementtodirectlycalculatethesinorcosfunction,youneedtowritearathercomplicatedprogram.BecausetheClanguagestatementdoesnotprovideastatementthatdirectlycalculatesthesinorcosfunction.Anotherexampleistodisplayaparagraphoftext,wecannotfindthedisplaystatementintheClanguage,wecanonlyusethelibraryfunctionprintf.
ThelibraryfunctionsoftheClanguagearenotpartoftheClanguageitself.Itisasetofprogramscompiledandprovidedbythecompileraccordingtotheneedsofgeneralusers.TheClibraryfunctionsgreatlyfacilitateusers,andatthesametimesupplementthedeficienciesoftheClanguageitself.Infact,whenwritingClanguageprograms,libraryfunctionsshouldbeusedasmuchaspossible,sothatboththeefficiencyoftheprogramandthequalityofprogrammingcanbeimproved.
Статичната библиотека се нарича тук.
Основни понятия
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.
Девет категории
(1) I/Oфункции. Включително различни конзолни I/O, буферирани файлове I/O и небуферирани файлове I/операции в стил UNIX.
Задължително включване на файл: stdio.h
Например: getchar,putchar,printf,scanf,fopen,fclose,fgetc,fgets,fprintf,fsacnf,fputc,fputs,fseek,fread,fwrite и др.
(2)String,memoryandcharacterfunctions.Includingfunctionsforperformingvariousoperationsonstringsandperformingoperationsoncharacters.
Задължително включва файлове: string.h, mem.h, ctype.h, или string.h
Например: функции за проверка на символи: isalnum, isalpha, isdigit, islower, Isspace и др.? Функции за манипулиране на низове: strcat, strchr, strcmp, strcpy, strlen, strstr и др.
(3)Mathematicalfunctions.Includingvariouscommonlyusedtrigonometricfunctions,hyperbolicfunctions,exponentialandlogarithmicfunctions,etc.
Needincludefile:math.h
Например: sin, cos, exp (etothepowerofx), log, sqrt (квадратен корен), pow (xofyPower) и скоро.
(4) Функции, свързани с час, дата и система. Работа с час и дата и настройка на състоянието на компютърната система и др.
Requiredincludefile:time.h
Forexample:timereturnsthetimeofthesystem;asctimereturnsthedateandtimeintheformofastring.
(5) Динамично разпределение на памет. Включително функциите на "приложение за разпределение" и "освобождаване" на пространство в паметта.
Requiredincludefiles:alloc.horstdlib.h
Например: calloc, free, malloc, realloc и др.
(6) Управление на директории. Включително функции за създаване, запитване и промяна на директорията на диска.
(7) Контрол на процеси. Включително най-основните функции за контрол на процеси.
(8) Екран със знаци и графични функции. Включително различни функции за чертане на точки, линии, кръгове, квадрати и оцветяване.
(9) Други функции.
Съдържание
①Функцията на функцията и операциите, които тя може да изпълни
②Thenumberandorderoftheparameters,aswellasthemeaningandtypeofeachparameter
③Значението и типът на върнатата стойност
④Включващият файл, който трябва да се използва
Thisisanecessaryconditionforthecorrectuseoflibraryfunctions.
Свързани разлики
(1)Libraryfunctionsarepartofthelanguageorapplicationprogram,whilesystemcallsaretheinterfaceprovidedbythekerneltotheapplicationprogram,andarepartofthesystem
(2)Libraryfunctionsareexecutedintheuseraddressspace,systemcallsareexecutedinthekerneladdressspace,libraryfunctionrunningtimebelongstousertime,systemcallsbelongtosystemtime,libraryfunctionoverheadissmall,andsystemcalloverheadislarge
(3) Функциите на библиотеката са буферирани, системните повиквания са небуферирани
(4)Systemcallsdependontheplatform,libraryfunctionsdonotdependon
Библиотека с вградени функции
1.TherelationshipbetweenClanguageandClanguagelibraryfunctionsissimilartotherelationshipbetweenChinesecharactersandclassicworks.Clanguageisacomputerprogramminglanguage,andClanguagefunctionlibraryisadocumentwritteninClanguage.ItisconvenientforlatecomerstousetheClanguagemoresimplyandquickly.
2,Clanguageisanintroductorylanguageforprogramming.SincetheClanguagestatementdoesnotprovideastatementtodirectlycalculatethesinorcosfunction,itwillcausedifficultyinwritingtheprogram;butthefunctionlibraryprovidesthesinandcosfunctions,whichcanbeusedtodirectlycall.Todisplayaparagraphoftext,wecan'tfindthedisplaystatementinClanguage,wecanonlyusethelibraryfunctionprintf.ThelibraryfunctionofClanguageisnotapartofClanguageitself,itisasetofprogramscompiledandprovidedbythecompileraccordingtotheneedsofgeneralusers.TheClibraryfunctionsgreatlyfacilitateusers,andatthesametimesupplementthedeficienciesoftheClanguageitself.WhenwritingaClanguageprogram,usinglibraryfunctionscannotonlyimprovetheoperatingefficiencyoftheprogram,butalsoimprovethequalityofprogramming.