[Powered by Google Translate] NATE Hardison: Ohjelmoinnissa kirjasto on kokoelma liittyvien prewritten koodi. Kirjastot ovat miten me ohjelmoijat, yhteisiä ja hyödyllinen koodi toistensa kanssa, ja eri ohjelmien me kirjoittaa, ja jopa eri prosessit käynnissä Samalla meidän tietokoneissa. Tutkitaan hieman. Yksi yleisempiä tehtäviä, että olet luultavasti käyttänyt on printf toiminto. Nyt, printf ei ole mikään maaginen toiminto, joka on ollut koodattu tietokoneeseen - Pikemminkin se on osa C Standard Kirjastot, jotka ovat kokoelma toimintoja mukana C-ohjelmointikieli. Koska printf ei rakennettu tietokone, se tarkoittaa, että siellä oli joitakin ohjelmoija, joka todellisuudessa meni ja kirjoitti printf toiminto ja mukana on muun standardin kirjastot jotta tulevien ohjelmoijien ei tarvitse kahtena vaivaa. Ja olemme varmoja kiitollisia, että näin on, koska tarkistaa kuinka paljon koodia se todellisuudessa vie toteuttaa printf. C Standard kirjastoja, joista printf kuuluu, ovat yksi tärkeimmistä työkalut on torjunnassa CS50. Lisäksi panos-tuotos-kirjasto, jossa printf elämää, on olemassa joukko muita kirjastoja luultavasti käyttää aikana CS50. Esimerkiksi merkkijono kirjastossa on toimintoja vertaa C jouset, saavat pituutta, ja liität ne. Ja matemaattisen kirjaston saat hyödyllistä vakiot, kuten pi ja e.. Nyt, verrattuna tavanomaiseen kirjastojen muiden ohjelmien kielet, C Standard Kirjastot ovat todella pieniä, mutta ne on vielä huomattava määrä tavaraa. Ja se ei ole sanoa, että Standard Kirjastot ovat Vain C-kirjastot, on paljon enemmän siellä maailman voit käyttää myös CS50 kirjasto, kartografia kirjastot salaus ja salauksen toimintoihin, kirjastoja, joilla on toimintoja koodaamaan ja toistaa video-, ja niin edelleen. Tästä pääsemmekin tärkeän syrjään. Yksi keskeinen osaaminen suunnittelu on tietää työkaluja oman työkalupakin, jotta voit käyttää ne ja välttämään pyörän keksimistä uudelleen, ellei sinun täytyy tehdä niin. Kuten ohjelmoijat, kirjastot ovat yksi tärkeimmistä työkaluja meillä. Kun löydät itsesi edessään tehtävä, joka näyttää ikävä tai tavallisia, kuten löytää pituus C merkkijono, et pitäisi kysyä itseltäsi, jos se voisi olla, että joku on jo tehnyt saman aiemmin. Mahdollisuudet ovat, että voit löytää joitakin auttaa sisällä kirjastossa. Joten teknisesti ottaen kirjasto on binaaritiedosto, joka on tuotettu yhdistämällä kokoelma objektin tiedostoja työkalu nimeltään, voit Arvasit oikein, linkkeri. Object-tiedostot ovat. O tiedostot saat kun kääntää C lähdekoodi. Kun ohjelmoijat kirjoittaa kirjastot, he yleensä erottaa niiden C-koodin kahteen tiedostotyyppejä: header-tiedostot ja täytäntöönpanon tiedostoja. Header tiedosto yleissopimuksessa annetaan. H tiedostopääte, ja se sisältää koodin, joka ilmoittaa kirjaston resurssit, jotka ovat käytettävissä voit käyttää. Nämä resurssit ovat funktioita, muuttujia, tietueet, tyypin määritelmät, ja niin edelleen, ja yhdessä ne ovat kutsutaan yleisesti rajapinnan. Itse asiassa, jos olet joskus miettinyt mitä on kirjasto, header tiedostot ovat paikka etsiä. Esimerkiksi, voit vetää ylös usr / include / stdio.h ja tarkista ulos kaikki mitä olet halunnut tietää standardin io kirjastoon. Siellä on paljon tavaraa täällä, ja se voi kestää hieman aikaa kahlata läpi. Kuitenkin yhdessä Googlen ja ohjesivut, tämä on paikka mennä, jos mietit miten tavallinen I / O Kirjasto toimii. Joten yksi keskeinen asia huomata tässä on kuitenkin se, että header tiedostot tyypillisesti eivät sisällä toimintoa määritelmät - , joka on todellinen toiminto toteutuksia. Tämä on esimerkki tärkeästä tietojenkäsittelytiede periaatetta kutsutaan tiedonpiilotus myös viitattu kertaa kuin kapselointi. Koska käyttäjä tai asiakas kirjasto, sinun ei tarvitse tietää sisäosat kirjasto velvoittaa käyttämään sitä. Muistan nähneeni printf vain hieman sitten? Olitko koskaan nähnyt todellista koodia ennen? No, oletan, että et ole, vaikka saatat ovat käyttäneet printf tonnia kertaa. Kaikki sinun piti tietää oli tehtävä ilmoitus esillä vuonna stdio.h otsikkotiedosto. Joka tapauksessa hyötyä hyvän tiedonpiilotus on, että ja ohjelmat kirjoitetaan eristettynä muutokset koodi täytäntöönpanon kirjaston toimintoja. Jos täytäntöönpanon printf muutoksia, sinun ei tarvitse mennä ja muuttaa kaikki ohjelmat, jotka käyttävät printf. Joten mistä täytäntöönpanoa mennä? No, jälleen Sopimuksen mukaan täytäntöönpanosta menee tiedosto. C tiedostotunniste. Yleensä header-tiedostot ja täytäntöönpano tiedostot kulkevat käsi kädessä, joten jos olet julistettu joukko uusia merkkijonon toimintoja mystring.h, niin sinun määrittää kaikki nämä toiminnot mystring. c. Joten sitten header ja täytäntöönpanoon tiedostot sitten kootaan, luodaan objekti tiedostot ovat sitten linkitetty yhdessä tuottavat binary kirjaston tiedoston. Kirjasto kirjailija sitten lähettää binaaritiedosto pitkin kanssa header tiedostot ohjelmoijia, jotka haluavat käyttää kirjastoon. Tässä vaiheessa. C toteuttamiseen tiedostot eivät ole tarvitaan, paitsi kääntää kirjastoon tyhjästä, joten he usein jätetään pois. Voit käyttää C kirjasto, sinun täytyy tehdä kaksi asiaa. Ensinnäkin, sinun täytyy # include kirjaston header-tiedostot ja lähdekooditiedostoa missä haluat käyttää kirjaston koodi. Tämä ilmoittaa kääntäjä kaikkien ilmoitusten funktioita, muuttujia, tietueet, jne., läsnä header tiedostot niin, että kääntäjä voi yksi, vakuuttaa, että käytät kirjaston resurssien oikealla tavalla, ja kaksi, tuottaa sopiva kokoonpano koodi. Riippuen siitä, missä kirjaston header-tiedostot ovat sijaitsee, # include syntaksi vaihtelee. Jos otsikko tiedostot sijaitsevat järjestelmän Oletuksena ovat hakemisto - tyypillisesti, usr/include-- Sitten kulmarautojen syntaksia käytetään, kuten # include . Kuitenkin, jos otsikko tiedostot sijaitsevat samassa hakemistoon oman koodin, lainausmerkki syntaksi on käytetään, kuten # include "mylib.h". Toinen asia mitä sinun tarvitsee tehdä on yhdistää vuonna binary Kirjaston tiedostoa kun kääntää koodin. Tämä on erittäin tärkeä askel. Muista meidän aikaisempi keskustelumme siitä, miten otsikko tiedostot eivät sisällä täytäntöönpanon koodia? Jos unohdat tämän vaiheen, saat virheitä, määrittelemätön symbolit viitataan koodissa. Voit ratkaista tämän, käytä-l lipun seuraa välittömästi ilman tilaa, jonka nimi kirjaston. Monissa järjestelmissä, kuten laite-C Standard Kirjastot automaattisesti linkitetty sinulle. Kuitenkin matematiikan kirjasto on joskus mukana erikseen ja ehkä liittyy-lm. Laitteeseen, me hoidamme tämän sinulle, ja me myös linkittää CS50 kirjasto-lcs50. Voit nähdä kaikki tämä laite kun ajaa tekemään. Nyt sinulla pitäisi olla tietoa sinun täytyy käyttää kirjastoissa C. On hauskaa tutkia. Nimeni on Nate Hardison, ja tämä on CS50.