[Powered by Google Translate] Nate HARDISON: V programiranju, knjižnica je zbirka povezane prewritten kodo. Knjižnice so, kako smo, kot programerji, delež skupnega in pomoč koda s seboj, z različnimi programi smo pisati, in tudi z različnimi procesi teče Hkrati na naših računalnikih. Oglejmo si malo. Ena izmed bolj običajnih funkcij, ki ste verjetno been using je printf funkcija. Zdaj printf ni nekaj čarobno funkcija, ki je bilo težko kodirane v računalnik - ampak to je del standardne knjižnice na C, ki so Zbirka funkcij, ki prihaja z C programski jezik. Ker je printf ni vgrajena v računalnik, kar pomeni, da je bilo nekaj programer, ki je dejansko šel v in napisal printf funkcijo in jo v paketu z ostalimi standard knjižnice, tako da prihodnje programerji ne bi bilo treba podvojiti prizadevanja. In prepričani smo, da hvaležen, da je temu tako, ker preverite , koliko je v resnici šifra meni, da printf izvajati. C Standard knjižnice, ki je printf del, so eden od najpomembnejših orodij, ki jih imajo pri reševanju CS50. Poleg vhodno-izhodnega knjižnici, kjer printf življenja, obstaja kup drugih knjižnic, ki boste verjetno uporabljali tekom CS50. Na primer, niz knjižnica funkcij primerjati nize C, dobili svoje dolžine in jih združite. In math knjižnica vam v pomoč konstante, kot pi in e. Zdaj, v primerjavi s standardnimi knjižnicami drugih programskih jeziku, C Število Knjižnice so zelo majhne, ampak še vedno imajo veliko količino stvari. In to ne pomeni, da so standardne knjižnice so Samo C knjižnice, obstaja veliko več tam v Svet ga boste uporabljali, vključno z CS50 knjižnici kartografija knjižnice z šifriranje in dešifriranje funkcije, knjižnice s funkcijo za kodiranje in predvaja video, in tako naprej. To nas pripelje do pomembne razveljavi. Ena od bistvenih sposobnosti inženirstva je poznavanja orodij na voljo v vašem orodjarni, tako da lahko uporabljate njih in se izognili izumljanju kolesa, razen moraš to storiti. Kot programerji, knjižnice so ena izmed najbolj pomembnih orodij, ki jih imamo. Ko se znajdete sooča z nalogo, da se zdi dolgočasno, ali samoumevna, kot je iskanje dolžino niza C, lahko morate vprašati, če bi se zgodilo, da kdo je že storil enako prej. Možnosti so, da bi lahko našli nekaj pomoč v knjižnici. Torej, v tehničnem smislu, knjižnica je binarna datoteka, ki je bil pripravljen s povezovanjem zbirko predmet datotek z orodjem pozval, da mislil je, je povezovalnik. Objekt datoteke so jih. O datoteke, ki jih dobiš, ko zbrati C izvorne kode. Ko programerji pišejo knjižnice, ki jih običajno ločujejo C kodo na dve vrsti datotek: header datoteke in izvajanje datoteke. Glava datoteke po dogovoru je dana h datoteko. Končnico in vsebuje kodo, ki izjavlja, knjižnica je Sredstva, ki so na voljo za uporabo. Ti viri vključujejo funkcije, spremenljivke, konstrukti, Tip opredelitve, in tako naprej, in skupaj sta ponavadi naveden kot vmesnik. V bistvu, če ste kdaj sprašujete, kaj je v knjižnici, V glavi datoteke so kraj za iskanje. Na primer, lahko potegnite navzgor usr / include / stdio.h in preverite od vsega, kar ste želeli vedeti o standard io knjižnica. Obstaja veliko stvari tukaj, in da lahko traja nekaj Čas je, da prebroditi. Vendar pa je skupaj z Googlom in Priročniške strani, to je kraj za iti, če ste se spraševala, kako standardne I / O Knjižnica funkcije delujejo. Torej ena ključna stvar, ki sem seznanjen, čeprav je, da header datoteke običajno ne vključuje definicije funkcij - to je dejansko funkcijo izvedbe. To je ilustracija pomemben računalništvu Načelo imenuje skrivanje informacij, imenovano tudi na krat zaprtjem. Kot uporabnik ali stranko v knjižnici, vam ni treba ve Notranjost knjižnice v Da, da jo uporabljajo. Zapomni si videl printf le malo nazaj? Če bi si kdaj videl dejansko kodo, preden? No, predvidevam, da še niste storili, čeprav bi lahko ti so uporabljali printf ton časa. Vse, kar je moral vedeti, je ta funkcija izjava V datoteki stdio.h glavo. Kakorkoli že, v korist dobrega skrivanja informacij, ki jih je in programi, ki jih pišejo izolirana od vseh spremembah v oznaka za izvajanje knjižnične funkcije. Če izvedba printf sprememb, nimate iti in spremeniti vse programe, ki uporabljajo printf. Torej, če ne izvajanje iti? Torej, še enkrat, po dogovoru pa je izvedba gre v datoteka s pripono. c. Ponavadi header datoteke in izvajanje datoteke roko v roki, tako da, če ste prijavljeni kup novih niz Funkcije mystring.h, potem boste opredeli vse te funkcije v mystring c.. Torej datoteke glave in izvedba sta nato zbrati, ustvarjanje datotek predmeta, ki so nato povezane skupaj za izdelavo datoteke binarni knjižnico. Knjižnica pisatelj bo nato poslal binarne datoteke skupaj z glavi datoteke za programerje, ki želijo uporabljati knjižnico. Na tej točki, c izvajanja. Datoteke niso potrebna, razen prevesti v knjižnico iz nič, tako oni so pogosto izpuščeni. Za uporabo knjižnice C, kar morate narediti dve stvari. Prvič, morate # vključujejo v knjižnici v glavo datoteke in izvorno kodo datoteke, če želite uporabiti knjižnice, koda. Ta prevajalnik obvesti o vseh izjavah o funkcije, spremenljivke, konstrukti, in tako dalje, navzoči pri header datoteke, tako da lahko prevajalnik 1, zagotavlja, da so boste uporabljali v knjižnici vire na pravilen način, in drugič, ustvariti ustrezno oznako sklopa. Glede na to, kje v knjižnici v glavo datoteke leži v # include sintaksa razlikuje. Če se v glavi datoteke se nahajajo v sistemskem privzeto vključujejo imenik - običajno, usr/include-- potem pa se kot nosilci sintaksa se uporablja, kot je v # include . Vendar, če se header datoteke, ki se nahajajo v isti Imenik kot svojo kodo, dvojni narekovaj sintaksa je uporabljajo kot # include "mylib.h". Druga stvar, kar morate storiti, je povezati v binarno Knjižnica datoteka, ko zbere svojo kodo. To je super pomemben korak. Zapomni si našo prejšnjo razpravo o tem, kako glava datoteke ne vsebujejo izvajanje kode? Če ste pozabili ta korak, boste dobili napako o undefined simboli naveden v kodi. Da bi rešili to, uporabite-l zastave takoj sledi brez presledka z imenom knjižnice. Na večini sistemov, vključno z napravo, C standarda Knjižnice so samodejno povezani za vas. Vendar pa je matematika knjižnica včasih paketu ločeno in bi jih bilo treba povezati z-LM. Na napravi, bomo za to poskrbeli za vas, prav tako povezati CS50-knjižnico z lcs50. Ogledate si lahko vse to na napravi, če naletite narediti. Sedaj bi morali imeti znanje, morate uporabiti knjižnice C. Zabavajte se med raziskovanjem. Moje ime je Nate Hardison, in to je CS50.