[Powered by Google Translate] NATE HARDISON: Ym maes rhaglennu, llyfrgell yn gasgliad o
cod prewritten cysylltiedig.
Mae llyfrgelloedd yn sut yr ydym ni, fel rhaglenwyr, rhannu cyffredin a
cod defnyddiol â'i gilydd, gyda rhaglenni gwahanol rydym yn
ysgrifennu, a hyd yn oed gyda gwahanol brosesau yn rhedeg ar
yr un pryd ar ein cyfrifiaduron.
>> Dewch i ddarganfod ychydig.
Un o swyddogaethau mwyaf cyffredin eich bod yn ôl pob tebyg i wedi
bod yn ei ddefnyddio yw'r swyddogaeth printf.
Nawr, nid printf yn rhyw swyddogaeth hud sydd wedi bod yn
caled-godio i mewn i'r cyfrifiadur -
yn hytrach, mae'n rhan o Lyfrgelloedd Safon C, sy'n
casgliad o swyddogaethau sy'n dod gyda'r
Iaith rhaglennu C.
Gan nad printf yn cael ei hadeiladu i mewn i'r cyfrifiadur, mae hynny'n golygu bod
roedd rhywfaint o rhaglennydd sydd mewn gwirionedd yn mynd i mewn a ysgrifennodd y
swyddogaeth printf a bwndelu gyda gweddill y safon
llyfrgelloedd fel na fyddai rhaglenwyr y dyfodol rhaid i
dyblygu ymdrech.
Ac rydym yn sicr ddiolchgar bod hynny'n wir, oherwydd gwirio
faint cod mewn gwirionedd mae'n cymryd i weithredu printf.
>> Mae'r Llyfrgelloedd C Standard, y printf yn rhan ohoni, yn
un o'r arfau mwyaf pwysig i chi
wedi mynd i'r afael CS50.
Yn ogystal â'r llyfrgell mewnbwn-allbwn lle
printf bywydau, mae yna griw o lyfrgelloedd eraill
mae'n debyg y byddwch yn defnyddio dros gyfnod o CS50.
Er enghraifft, y llyfrgell llinyn swyddogaethau i
cymharu llinynnau C, yn cael eu hyd, ac yn concatenate nhw.
Ac mae'r llyfrgell mathemateg yn rhoi ddefnyddiol
cysonion, fel pi ac e.
Yn awr, o gymharu â'r llyfrgelloedd safonol o raglenni eraill
ieithoedd, y Llyfrgelloedd Safon C yn wirioneddol fach,
ond maent yn dal i gael cryn dipyn o bethau.
Ac nid dyna'r i ddweud bod y Llyfrgelloedd safonol yn y
dim ond C llyfrgelloedd; mae llawer mwy allan yna yn y
byd i chi eu defnyddio, gan gynnwys y Llyfrgell CS50,
llyfrgelloedd cartograffeg gyda amgryptio a dadgriptio
swyddogaethau, llyfrgelloedd gyda swyddogaethau i amgodio a
chwarae yn ôl fideo, ac yn y blaen.
>> Mae hyn yn dod â ni i fynd heibio bwysig.
Un o sgiliau hanfodol peirianneg yn gwybod y
offer sydd ar gael yn eich blwch offer er mwyn i chi eu defnyddio
iddynt ac osgoi ail-ddyfeisio'r olwyn oni bai
rhaid i chi wneud hynny.
Fel rhaglenwyr, mae llyfrgelloedd yn un o'r mwyaf pwysig
offer sydd gennym.
Pan fyddwch yn cael eich hun yn wynebu tasg sy'n ymddangos yn ddiflas neu
cyffredin, fel dod o hyd i'r hyd llinyn C, i chi
Dylai ofyn i chi'ch hun os gallai fod yn wir bod
rhywun wedi gwneud yn barod yr un peth o'r blaen.
Cyfleoedd yn y gallech ddod o hyd i
helpu mewn llyfrgell.
>> Felly, yn nhermau technegol, llyfrgell yn ffeil ddeuaidd sy'n
wedi cael ei gynhyrchu trwy gysylltu casgliad o
a elwir yn ffeiliau gwrthrych gan ddefnyddio offeryn, rydych
guessed, y linker.
Ffeiliau Gwrthrych yw'r rhai. Ffeiliau o eich bod yn cael pan fyddwch yn
llunio cod ffynhonnell C.
Pan rhaglenwyr ysgrifennu llyfrgelloedd, maent fel arfer yn
gwahanu eu C cod yn ddau fath o ffeiliau:
ffeiliau a ffeiliau pennawd gweithredu.
Mae ffeil pennawd gan confensiwn yn cael y. Estyniad ffeil h,
ac mae'n cynnwys cod sy'n datgan y llyfrgell
adnoddau sydd ar gael i chi eu defnyddio.
Mae'r adnoddau hyn yn cynnwys swyddogaethau, newidynnau, structs,
diffiniadau math, ac yn y blaen, a chyda'i gilydd, maent yn
cyfeirir atynt yn gyffredin fel y rhyngwyneb.
Yn wir, os ydych chi'n meddwl erioed beth sydd mewn llyfrgell,
y ffeiliau pennawd yw'r lle i chwilio.
>> Er enghraifft, gallwch dynnu i fyny usr / cynnwys / stdio.h a gwirio
wybod popeth chi erioed wedi eisiau ei wybod am
llyfrgell io safonol.
Mae 'na lot o bethau yn y fan hon, a gall gymryd tipyn o
amser i ymlafnio drwy'r.
Fodd bynnag, ynghyd â Google a'r tudalennau 'man', dyma'r
lle i fynd os ydych yn meddwl sut y safon I / O
swyddogaethau llyfrgell yn gweithio.
Felly, un peth allweddol i'w nodi yma, fodd bynnag, yw y gall ffeiliau pennawd
nad ydynt fel arfer yn cynnwys diffiniadau swyddogaeth -
hynny yw, y implementations swyddogaeth ei hun.
Mae hyn yn enghraifft o wyddoniaeth gyfrifiadurol pwysig
egwyddor a elwir yn cuddio gwybodaeth, y cyfeirir atynt hefyd yn
gwaith cymaint o amgįu.
>> Gan fod y defnyddiwr neu gleient o lyfrgell, nid oes angen i chi
gwybod am y mewnolion y llyfrgell yn
er mwyn ei ddefnyddio.
Cofiwch gweld printf dim ond ychydig yn ôl?
Pe chi erioed wedi gweld y cod ei hun o'r blaen?
Wel, yr wyf yn cymryd nad ydych wedi, hyd yn oed er eich gallai
wedi defnyddio tunnell printf o weithiau.
Y cyfan sydd rhaid i wybod yr oedd y swyddogaeth bresennol datganiad
yn y ffeil pennawd stdio.h.
Anyway, y fantais o cuddio gwybodaeth dda yw eich bod yn
a'r rhaglenni ydych yn ysgrifennu eu hinswleiddio o unrhyw newidiadau yn
y cod y gweithredu swyddogaethau llyfrgell.
Os yw'r gweithredu newidiadau printf, nid oes gennych
i fynd a newid eich holl raglenni sy'n defnyddio printf.
>> Felly, lle mae gweithredu'n mynd?
Wel, unwaith eto, yn ôl confensiwn, mae gweithredu yn mynd yn
ffeil efo'r estyniad. estyniad ffeil c.
Fel arfer, ffeiliau pennawd a ffeiliau gweithredu yn mynd law
mewn llaw, felly os ydych chi wedi datgan criw o linyn newydd
swyddogaethau yn mystring.h, yna byddwch chi'n diffinio pob un o'r
swyddogaethau hynny yn mystring. c.
Felly, yna y ffeiliau pennawd a gweithredu wedyn
llunio, creu ffeiliau gwrthrych sydd wedi eu cysylltu wedyn yn
gyda'i gilydd i gynhyrchu'r ddeuaidd ffeil llyfrgell.
Bydd yr awdur llyfrgell wedyn yn llong y ffeil ddeuaidd ar hyd
gyda'r ffeiliau pennawd i raglennwyr sydd am ddefnyddio
y llyfrgell.
Ar y pwynt hwn, nid y. Ffeiliau gweithredu c yn
sydd eu hangen, ac eithrio i ail-grynhoi y llyfrgell o'r dechrau, felly
maent yn gadael yn aml allan.
>> I ddefnyddio'r llyfrgell C, rhaid i chi wneud dau beth.
Yn gyntaf, mae'n rhaid i chi # gynnwys ffeiliau pennawd y llyfrgell a'r
ffeil cod ffynhonnell lle rydych am ei ddefnyddio
cod y llyfrgell.
Mae hyn yn llywio y compiler pob un o'r datganiadau o
swyddogaethau, newidynnau, structs, et cetera, yn bresennol yn y
ffeiliau pennawd fel y gall y compiler un, yswirio bod
eich bod yn defnyddio adnoddau'r llyfrgell yn y ffordd briodol,
a dau, yn cynhyrchu y cod cynulliad priodol.
Yn dibynnu ar ble ffeiliau pennawd y llyfrgell yn
lleoli, y gystrawen # cynnwys yn amrywio.
Os yw'r ffeil pennawd yn cael eu lleoli yn y system
diofyn yn cynnwys cyfeiriadur -
fel arfer, usr/include--
yna bydd y gystrawen cromfachau ongl yn cael ei ddefnyddio, fel yn # cynnwys
.
Fodd bynnag, os bydd y ffeiliau pennawd wedi eu lleoli yn yr un
cyfeirlyfr fel eich cod eich hun, y gystrawen dyfyniad dwbl yn
defnyddio, fel yn # cynnwys "mylib.h".
>> Yr ail beth rhaid i chi ei wneud yw cysylltu yn y deuaidd
llyfrgell ffeil pan fyddwch yn llunio eich cod.
Mae hwn yn gam pwysig super.
Cofiwch ein trafodaeth gynharach am sut y pennawd
Nid yw ffeiliau yn cynnwys cod gweithredu?
Os byddwch yn anghofio y cam hwn, byddwch yn cael gwallau am
symbolau heb eu diffinio cyfeirir atynt yn eich cod.
Er mwyn datrys hyn, defnyddiwch y-l faner ddilyn yn syth
heb le o'r enw y llyfrgell.
Ar lawer o systemau, gan gynnwys yr offer, y Safon C
Llyfrgelloedd yn cael eu cysylltu yn awtomatig i chi.
Fodd bynnag, mae'r llyfrgell yn cael ei bwndelu math weithiau ar wahân
ac efallai y bydd angen i fod yn gysylltiedig â-lm.
Ar y peiriant, rydym yn gofalu am hyn i chi, ac rydym hefyd yn
cysylltu'r llyfrgell CS50 â-lcs50.
Gallwch weld hyn i gyd ar y peiriant pan fyddwch yn rhedeg ei wneud.
>> Nawr dylech gael y wybodaeth mae angen i chi ddefnyddio
llyfrgelloedd yng C. Cael hwyl archwilio.
Fy enw i yw Nate Hardison, ac mae hyn yn CS50.