[Powered by Google Translate] Nate HARDISON: programmeerimine, raamatukogu on kogumik seotud prewritten kood. Raamatukogud on, kuidas me, nagu programmeerijad, jagavad ühiseid ja kasulik kood üksteisega koos erinevate programmide me kirjutada, ja isegi erinevate protsesside töötab Samal ajal meie arvutid. Uurime natuke. Üks sagedamini funktsioone, olete ilmselt kasutanud on printf funktsiooni. Nüüd printf ei ole mingi maagiline funktsioon, mis on olnud püsiprogrammeeritud arvuti - pigem on see osa C Standard raamatukogud, mis on kogumik ülesandeid, mis on varustatud C programmeerimiskeelt. Kuna printf ei ole sisse ehitatud arvuti, mis tähendab, et seal oli programmeerija, kes tegelikult läks ja kirjutas printf funktsiooni ja komplekteeritud see ülejäänud standard raamatukogudes, nii et tulevikus programmeerijad ei pea eksemplaris pingutust. Ja me oleme kindlad tänulikud, et see on nii, sest vaadata kui palju koodi tegelikult kulub rakendada printf. C Standard Raamatukogud, millest printf on osa, on üks tähtsamaid vahendeid te on võitluses CS50. Lisaks sisend-väljund raamatukogu, kus printf elu on hunnik muid raamatuid, mida sa ilmselt kasutada jooksul CS50. Näiteks string raamatukogu on funktsioonid võrrelda C stringid, saada oma pikad ja concatenate neid. Ja matemaatika raamatukogu annab teile kasulik konstandid, nagu pi ja e. Nüüd, võrreldes standardse raamatukogud teiste programmide keeled, C Standard Raamatukogud on tõesti väike, kuid nad on veel suur hulk asju. Ja see ei tähenda, et Standard Raamatukogud on ainult C raamatukogudes, seal on palju rohkem seal maailm teid kasutada, sealhulgas CS50 Raamatukogu, kartograafia raamatukogude kodeerimiseks ja dekodeerimiseks funktsioone, raamatukogude funktsioonid kodeerida ja taasesitada video, ja nii edasi. See viib meid oluline kõrvale. Üks olulisi oskusi insener on teada vahendeid oma tööriistakasti nii, et saate kasutada neile ja vältida jalgratta leiutamist kui sa pead seda tegema. Kuna programmeerijad, raamatukogud on üks tähtsamaid tööriistad oleme. Kui sa leiad end silmitsi ülesandega, mis tundub tüütu või igapäevaseks, nagu leida pikkus C string, siis peaks endalt küsima, kui see võib olla nii, et keegi juba teinud sama asja enne. Võimalik, et sa leiaksid mõne aitab jooksul raamatukogu. Nii tehnilises mõttes, raamatukogu binaarfaili et on koostanud ühendab kogumine objekti faili kasutades tööriista nimega, siis arvasid, linker. Objekti failid on need. O faile, mis sa saad, kui sa koostama C lähtekoodi. Kui programmeerijad kirjutavad raamatukogud, nad tavaliselt eristama oma C-koodi kahte tüüpi faile: päisefaile ja rakendamise faile. Päisefail kokkuleppeliselt antakse. H faililaiend, ja see sisaldab koodi, mis kinnitab raamatukogu ressursse, mis on olemas, kus saab kasutada. Kõnealused vahendid hõlmavad ülesandeid, muutujad, structs, definitsioone, ja nii edasi, ja koos nad on tavaliselt nimetatakse liides. Tegelikult, kui sa kunagi ei tea, mida on raamatukogus, päisefaile on koht, kust otsida. Näiteks saate tõmba usr / include / stdio.h ja kontrollida kõike sa kunagi tahtnud teada standard IO raamatukogu. Seal on palju asju siin, ja see võib võtta natuke aeg Wade kaudu. Kuid koos Google ja manpages, see on koht, kuhu minna, kui sa ei tea, kuidas standard I / O raamatukogu funktsioonid töötavad. Nii et üks võti on tähele panna siin, kuigi see, et päisefaile tavaliselt ei hõlma funktsiooni mõisted - see tähendab, et tegelik funktsioon rakendusi. See on näide oluline infotehnoloogia põhimõtet nimetatakse tiedonpiilotus, millele on viidatud ka korda kapseldus. Nagu kasutaja või kliendi raamatukogu, sa ei pea teadma selle sisemust raamatukogu Selleks, et seda kasutada. Nägin printf lihtsalt natuke tagasi? Oleks sa kunagi näinud tegelikku koodi enne? Noh, ma eeldan, et sa ei ole, isegi kui te on kasutanud printf tonni korda. Kõik, mida pidin teada oli funktsiooni deklaratsioon kohal aastal stdio.h header fail. Igatahes, kasuks hea info peidus on, et te ja programme sa kirjutad on kaitstud mis tahes muudatusi kood rakendamise raamatukogu funktsioonid. Kui rakendamise printf muudatusi, ei pea te minna ja muuta kõik oma programmid, mis kasutavad printf. Nii et kui ei rakendamiseks minna? Noh, jälle tavapäraselt rakendamise läheb faili. c faililaiend. Tavaliselt päisefaile ja rakendamise faili käima käes, nii et kui sul deklareeritud hunnik uusi string funktsioonide mystring.h, siis saate määratleda kõik need funktsioonid mystring. c. Nii siis päise ja rakendamise failid on seejärel koostatud, luues objekti faile, mis on siis seotud kokku toota binaarne raamatukogu faili. Raamatukogu kirjanik siis laeva binaarfaili mööda koos päisefaile programmeerijad, kes soovivad kasutada raamatukogu. Sel hetkel,. C rakendamise failid ei ole vaja, välja arvatud kompileeri raamatukogu nullist, nii nad sageli välja jäetud. Et kasutada C raamatukogu, mida sa pead tegema kahte asja. Esmalt tuleb # include raamatukogu päisefaile ja lähtekoodi fail, kus soovite kasutada raamatukogu kood. See teavitab koostaja kõik deklaratsioonid funktsioone, muutujad, structs lt jne olemas päisefaile nii et tõlkija saab üks, kindlustada, et sa kasutad raamatukogu ressursside õige, ja kaks, luua asjakohane koost koodi. Sõltuvalt sellest, kus raamatukogu päisefaile on asub, # include süntaks on erinev. Kui päisefaile asuvad süsteemi Vaikimisi sisaldab kataloog - Tavaliselt usr/include-- siis noolsulgudes süntaks on kasutatud, nagu # include . Kui header failid asuvad samas kataloogi oma koodi, jutumärke süntaks on kasutatud, nagu # include "mylib.h". Teine asi, mida sa pead tegema on ühendada ka kahekomponentsete teegi faili, kui sa kompileerida koodi. See on super oluline samm. Mäletad meie varasem arutelu, kuidas header failid ei sisalda rakendamise koodeksit? Kui te unustate seda sammu, saad vigu umbes defineerimata sümbolite viidatud oma koodi. Et seda lahendada, kasutage-l lipu järgneb kohe ilma tühiku nime raamatukogu. Paljudes süsteemides, kaasa arvatud seadme, C Standard Raamatukogud on automaatselt seotud sinu jaoks. Kuid matemaatika raamatukogu on mõnikord komplekteeritud eraldi ja võib tekkida vajadus siduda-lm. Seadmele, me hoolitseme sinu eest, ja me ka siduda CS50 raamatukogu-lcs50. Näete kõik see seade sisse, kui sa jooksed teha. Nüüd peaks sul olema teadmisi, mida on vaja kasutada raamatukogude C. Avastamisrõõmu. Minu nimi on Nate Hardison, ja see on CS50.