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