[Powered by Google Translate] NATE HARDISON: programmēšanas, bibliotēka ir kolekcija saistīto iepriekš uzrakstīta kodu. Bibliotēkas ir kā mēs, jo programmētāji, kopīgas un noderīga kods ar otru, ar dažādām programmām, kuras mēs rakstīt, un pat ar dažādiem procesiem darbojas Vienlaikus mūsu datoros. Izpētīsim mazliet. Viens no biežāk funkcijas, kas jums, iespējams, lietoju ir printf funkciju. Tagad, printf nav dažas burvju funkcija, kas ir bijis grūti kodē uz datora - Drīzāk, tas ir daļa no C standarta bibliotēkām, kuras ir kolekcija funkcijas, kas nāk ar C programmēšanas valoda. Tā printf nav iebūvēts dators, kas nozīmē, ka tur bija daži programmētājs, kas faktiski gāja un uzrakstīja printf funkciju un komplektā to ar pārējo standarta bibliotēkas, lai nākamie programmētājiem nebūtu dublēt pūles. Un mēs esam pārliecināti, pateicīgi, ka tas ir gadījumā, jo pārbaudīt cik daudz koda tas faktiski nepieciešams, lai īstenotu printf. Vai C Standarta Bibliotēkas, no kuriem printf ir daļa, ir viens no svarīgākajiem instrumentiem jums ir problēmas risināšanā CS50. Papildus izejvielu un produkcijas bibliotēkā, kur printf dzīve, ir ķekars citām bibliotēkām, kas jūs, iespējams izmantot gaitā CS50. Piemēram, stīgu bibliotēkai ir funkcijas salīdzināt C stīgas, saņemt savu garumu, un saķēdēt tos. Un matemātikas bibliotēka sniedz jums noderīga konstantes, piemēram, pi un e. Tagad, salīdzinot ar standarta bibliotēkām citu programmu valodās, C standarta Bibliotēkas ir ļoti maza, bet tie joprojām ir ievērojams daudzums sīkumi. Un tas nav teikt, ka standarta Bibliotēkas ir tikai C bibliotēkas, tur ir daudz vairāk, kas tur pasaules, lai jūs varētu izmantot, ieskaitot CS50 bibliotēkā, kartogrāfija bibliotēkas ar šifrēšanu un atšifrēšanu funkcijas, bibliotēkas ar funkcijām, lai šifrēt un atskaņot video, un tā tālāk. Tas parādīs mums uz svarīgu malā. Viens no būtiskiem prasmes inženierijas zinot instrumentus, kas pieejami jūsu kompleksa, lai jūs varētu izmantot tos un izvairīties no jauna izgudrot riteni, ja vien Jums to darīt. Kā programmētāji, bibliotēkas ir viens no svarīgākajiem instrumenti mums ir. Kad jums atrast sev saskaras ar uzdevumu, kas šķiet garlaicīgs vai ikdienišķa, kā atrast garumu C virknes, jūs vajadzētu uzdot sevi, ja tas varētu būt, ka kāds ir jau izdarīts pats pirms tam. Iespējams, ka jūs varētu atrast kādu palīdzēt ietvaros bibliotēkā. Tātad tehniskā ziņā, bibliotēka ir binārs fails, ir ražots, savienojot kopā kolekcija objekts failus, izmantojot rīku sauc, tu uzminējāt, linker. Objektu faili ir tie o faili, kas jums, kad jūs. apkopo C avota kodu. Kad programmētāji rakstīt bibliotēkas, tie parasti atdalīt C kodu divu veidu failus: header failus un īstenošanas failus. Header failu pēc vienošanās tiek dota. H faila paplašinājumu, un tas satur kodu, kas apliecina, bibliotēkas resursiem, kas ir pieejami, lai jūs varētu izmantot. Šie resursi ietver funkcijas, mainīgie, structs, tipa definīcijas, un tā tālāk, un kopā tie ir parasti sauc par interfeisu. Patiesībā, ja jūs kādreiz jautājums, kas ir bibliotēkā, header faili ir vieta, kur meklēt. Piemēram, jūs varat uzvilkt usr / ietver / stdio.h un pārbaudīt veic visu, kas jums kādreiz gribēja zināt par standarta IO bibliotēka. Tur no stuff šeit daudz, un tas var būt mazliet laiks brist cauri. Tomēr, kopā ar Google un manpages, tas ir vieta, kur iet, ja jūs domājām, kā standarta I / O bibliotēkas funkcijas strādā. Tāpēc viens svarīgs lieta atzīmēt šeit, lai gan, ir tas, ka header failus parasti neiekļauj funkciju definīcijas - tas ir, faktiskās funkciju realizācijas. Tas ir ilustrācija svarīgu datorzinātņu princips sauc informācijas slēpšanu, ko dēvē arī par reizes iekapsulēšanas. Kā lietotājs vai klients par bibliotēkas, jums nav nepieciešams zināt par bibliotēkas iekšējie pilsētā lai izmantotu to. Atceros redzēt printf tikai mazliet pirms? Vai Jūs kādreiz esat redzējis faktisko kodu pirms? Nu, es pieņemu, ka jums nav, lai gan jūs varētu ir izmantoti printf tonnas reizes. Viss, kas jums bija jāzina, bija funkciju deklarācijas pašreizējā kas stdio.h header failu. Anyway, labas informācijas slēpšanās priekšrocība ir, ka jūs un programmas rakstīt ir izolēta no jebkādām izmaiņām kods īstenošanas bibliotēkas funkcijas. Ja printf pārmaiņu ieviešana, jums nav lai iet un mainīt visas programmas, kas izmanto printf. Tātad, ja tas īstenošana iet? Nu, atkal, pēc vienošanās, īstenošana iet fails ar. c faila paplašinājumu. Parasti, header failus un īstenošanas failus iet roku rokā, tādēļ, ja jūs esat deklarēta ķekars jaunas virknes funkcijas mystring.h, tad jūs jādefinē visas šie funkcijas mystring c.. Tātad tad header un īstenošanas faili ir tad apkopoti, veidojot objektu failus, kas pēc tam tiek saistītas kopā, lai ražotu bināro bibliotēkas failu. Bibliotēka rakstnieks tad kuģis bināro failu pa ar header failus uz programmētājiem, kuri vēlas izmantot bibliotēka. Šajā brīdī,. C ieviešanas faili nav nepieciešamas, izņemot recompile bibliotēku no nulles, tāpēc viņi bieži izlaist. Lai izmantotu C bibliotēka, kas Jums jādara divas lietas. Pirmkārt, jums ir # ietvert bibliotēkas header failus un avota kods failu, kur jūs vēlaties izmantot izveidota bibliotēkas kodu. Tas informē apkopotāju visu deklarāciju funkcijas, mainīgie, structs, uc, kas dzīvo header failus, lai kompilators var vienu, apdrošināt, ka Jūs izmantojat bibliotēkas resursus pareizā veidā, un divi, radīt atbilstošu montāžas kodu. Atkarībā no tā, kur bibliotēkas header faili ir vietā, # ietvert sintakse atšķiras. Ja header faili atrodas sistēmas noklusējuma ir direktoriju - parasti, usr/include-- tad leņķis iekavās sintakse tiek izmantota, kā # ietvert . Tomēr, ja header faili atrodas tajā pašā direktorijā, kā savu kodu, dubultā citējot sintakse ir izmantota, jo # ietvert "mylib.h". Otrā lieta, kas Jums jādara, ir saistīt ar bināro bibliotēkas failu, kad jūs sastādīt savu kodu. Tas ir super svarīgs solis. Atceros mūsu agrāko diskusiju par to, kā iesākums faili nesatur īstenošanas kodu? Ja esat aizmirsis šo soli, jūs saņemsiet kļūdas par undefined simboli atsauce jūsu kodu. Lai atrisinātu šo, izmantojiet-L karoga sekoja tūlīt bez telpu ar nosaukumu bibliotēkā. Daudzos sistēmām, tostarp ierīces, C standarta Bibliotēkas tiek automātiski saistīti jums. Tomēr, math bibliotēka reizēm komplektā atsevišķi un varbūt būtu saistīts ar-LM. Uz ierīces, mēs rūpējamies par jūsu vietā, un mēs arī saistīt CS50 bibliotēka ar lcs50-. Jūs varat redzēt visu šo uz ierīces, kad jūs darbināt darīt. Tagad jums ir jābūt zināšanām, jums vajadzēs lietot bibliotēkas C. Have fun izpētīt. Mans vārds ir Nate Hardison, un tas ir CS50.