[Powered by Google Translate] Nate HARDISON: Í forritun, bókasafn er safn af
Related prewritten kóða.
Bókasöfn eru hvernig við, sem forritari, hluti algeng og
gagnlegt kóðann með hvert annað, með mismunandi forrit við
skrifa, og jafnvel með mismunandi ferli í gangi á
á sama tíma í tölvum okkar.
>> Skoðum aðeins.
Einn af the fleiri sameiginlegur aðgerðir sem þú hefur sennilega
verið að nota er printf virka.
Nú, printf er ekki einhver galdur virka sem hefur verið
harður-dulmáli í tölvunni -
heldur er það hluti af C Standard bókasöfnum, sem eru
safn af aðgerðum sem koma með
C forritunarmál.
Þar printf er ekki byggð inn í tölvuna, sem þýðir að
það var einhver forritari sem reyndar fór í og ​​skrifaði
printf virka og búnt það með the hvíla af the staðall
bókasöfn þannig að komandi forritari þyrfti ekki að
afrit viðleitni.
Og við erum viss þakklát að það er málið, vegna þess að stöðva
út hversu mikið númerið sem það tekur í raun að framkvæma printf.
>> C Standard Libraries, sem printf er hluti, er
einn af mikilvægustu verkfærum sem þú
hafa á að takast á við CS50.
Í viðbót við inntak-framleiðsla bókasafn þar
printf líf, það eru fullt af öðrum söfnum sem
þú munt sennilega nota á meðan á CS50.
Til dæmis, the band Safnið hefur aðgerðir til
bera C strengi, fá lengd þeirra, og concatenate þá.
Og stærðfræði bókasafn gefur þér gagnlegt
fastar, eins og pí og e.
Nú, í samanburði við staðlaða bókasafna annarra forritun
tungumál eru C Standard Bókasöfn mjög lítil,
en þeir hafa samt umtalsvert magn af efni.
Og það er ekki að segja að staðall bókasöfn eru
aðeins C bókasöfn, það eru margir fleiri þarna úti í
heimur fyrir þig að nota, þar á meðal CS50 Library,
Kortagerð bókasöfn með dulkóðun og decryption
aðgerðir, bókasöfn með aðgerðir til að umrita og
spila aftur vídeó, og svo framvegis.
>> Þetta leiðir okkur að mikilvægt hliðar.
Einn af the frumskilyrði færni verkfræði er að þekkja
verkfæri í boði í verkfærakistu þinn svo að þú getur notað
þá og forðast að reinventing hjólinu nema
þú þarft að gera það.
Sem forritari, eru bókasöfn einn af mikilvægustu
verkfæri sem við höfum.
Þegar þú finnur sjálfur frammi fyrir verkefni sem virðist leiðinlegur eða
algeng, eins og að finna lengd C band, þú
ættir að spyrja þig hvort það gæti verið að ræða að
einhver er nú þegar gert það sama áður.
Líklega er að þú getur fundið
hjálp innan safnsins.
>> Svo í tæknilegum hugtökum, bókasafn er tvöfaldur skrá sem
hefur verið framleidd með því að tengja saman safn af
mótmæla skrár nota tól sem heitir, þú
giska á það, the linker.
Object skrár eru þeir. O skrár sem þú færð þegar þú
þýða C kóðann.
Þegar forritarar skrifa bókasöfnum, yfirleitt þeir
skilja C kóða sína í tvær gerðir af skrám:
haus skrá og framkvæmd skrár.
A haus skrá með því að venju er gefið. H skrá eftirnafn,
og það inniheldur kóða sem lýsir safnsins
úrræði sem eru í boði fyrir þig að nota.
Þessar auðlindir eru aðgerðir, breytur, structs,
tegund skilgreiningar, og svo framvegis, og saman eru þeir
almennt nefndur tengi.
Í staðreynd, ef þú ert alltaf að velta fyrir mér hvað er á bókasafni,
Hausinn skrár eru staðurinn til að leita.
>> Til dæmis, er hægt að draga upp usr / fela / stdio.h og athuga
út allt sem þú vildir alltaf vita um
staðlaða IO bókasafn.
There er a einhver fjöldi af efni á hér, og það getur tekið smá
tími til að vaða í gegnum.
Hins vegar, ásamt Google og manpages, þetta er
staður til að fara ef þú ert að velta fyrir mér hvernig staðall I / O
bókasafn aðgerðir virka.
Svo einn lykill hlutur til að hafa í huga hér, þó er, að haus skrár
venjulega innihalda ekki virka skilgreiningar -
það er í raun gerð virka.
Þetta er dæmi um mikilvægt tölvunarfræði
meginreglu sem heitir upplýsingar felum, einnig vísað til í
sinnum hjúpun.
>> Sem notandi eða viðskiptavinur á bókasafni, þú þarft ekki að
vita um innri safnsins í
til að nota það.
Mundu að sjá printf bara svolítið síðan?
Hafðir þú séð raunverulegan kóða áður?
Jæja, ætla ég að þú hafir ekki, jafnvel þó að þú gætir
hafa notað printf tonn af sinnum.
Allt sem þú þurfti að vita var yfirlýsing virka staðar
í stdio.h haus skrá.
Engu að síður, að ávinningur af góðum upplýsingar felum er að þú
og forrit sem þú skrifar eru einangruð frá hvers kyns breytingar á
kóði framkvæmd virka bókasafn.
Ef framkvæmd printf breytingar, þú þarft ekki
að fara og breyta öllum áætlunum þínum sem nota printf.
>> Svo hvar er framkvæmd fara?
Jæja, aftur, með því að venju, framkvæmd fer í a
skrá með. c skrá eftirnafn.
Venjulega fara haus skrá og framkvæmd skrár hönd
í hendi, þannig að ef þú hefur lýst yfir fullt af nýjum streng
aðgerðir í mystring.h, þá munt þú skilgreina alla
þeir virka í mystring. c.
Svo þá haus og framkvæmd skrár eru þá
saman, búa til mótmæla skrár sem eru síðan tengd
saman að því að framleiða bókasafn tvöfaldur skrá.
Bókasafnið rithöfundur þá skip tvöfaldur skrá ásamt
með haus skrá til forritara sem vilja nota
bókasafn.
Á þessum tímapunkti, eru. C framkvæmd skrá ekki
þörf, nema að laun á bókasafnið frá grunni, svo
þeir eru oft vinstri út.
>> Til að nota C bókasafn, þú þarft að gera tvennt.
Fyrst verður þú að # include haus skrár safnsins og
Kóðinn skrá þar sem þú vilt nota
safnsins kóða.
Þetta upplýsir þýðanda á allar yfirlýsingar
virka, breytur, structs, et cetera, nútíð í
haus skrár þannig að þýðandi getur einn, tryggja að
þú ert að nota auðlindir safnsins á viðeigandi hátt,
og tveir, mynda viðeigandi samkoma kóða.
Það fer eftir því hvar haus skrár safnsins eru
staðsett, # include setningafræði breytileg.
Ef haus skrár eru staðsett í kerfinu er
sjálfgefið fela möppu -
Venjulega usr/include--
þá horn sviga setningafræði er notað, eins og # include
.
Hins vegar, ef haus skrár eru staðsett í sama
skrá sem eigin númer þitt, tvöfaldur vitna setningafræði er
notuð, eins og í # include "mylib.h".
>> Annað sem þú þarft að gera er að tengja í the tvöfaldur
bókasafn skrá þegar þú þýða kóðann þinn.
Þetta er frábær mikilvægt skref.
Mundu áðan umfjöllun okkar um hvernig haus
skrár innihalda ekki framkvæmd kóða?
Ef þú gleymir þetta skref, munt þú fá villur um
undefined tákn vísað í kóðann þinn.
Til að leysa þetta, nota-L fáninn fylgt strax
án rúm með nafni safnsins.
Á mörgum kerfum, þ.mt tæki, C Standard
Bókasöfn eru sjálfkrafa tengd þér.
Hins vegar er stærðfræði bókasafn stundum búnt sérstaklega
og gæti þurft að vera orðaður við-LM.
Á tækinu, taka við umönnun á þetta fyrir þig, og við líka
tengja CS50 bókasafn með-lcs50.
Þú getur séð þetta allt á tækinu þegar þú keyrir að gera.
>> Nú ættir þú að hafa þá þekkingu sem þú þarft að nota
bókasöfn á C. Hafa gaman að skoða.
Ég heiti Nate Hardison, og þetta er CS50.