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