[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.