[Powered by Google Translate] NATE HARDISON: Ym maes rhaglennu, llyfrgell yn gasgliad o cod prewritten cysylltiedig. Mae llyfrgelloedd yn sut yr ydym ni, fel rhaglenwyr, rhannu cyffredin a cod defnyddiol â'i gilydd, gyda rhaglenni gwahanol rydym yn ysgrifennu, a hyd yn oed gyda gwahanol brosesau yn rhedeg ar yr un pryd ar ein cyfrifiaduron. Dewch i ddarganfod ychydig. Un o swyddogaethau mwyaf cyffredin eich bod yn ôl pob tebyg i wedi bod yn ei ddefnyddio yw'r swyddogaeth printf. Nawr, nid printf yn rhyw swyddogaeth hud sydd wedi bod yn caled-godio i mewn i'r cyfrifiadur - yn hytrach, mae'n rhan o Lyfrgelloedd Safon C, sy'n casgliad o swyddogaethau sy'n dod gyda'r Iaith rhaglennu C. Gan nad printf yn cael ei hadeiladu i mewn i'r cyfrifiadur, mae hynny'n golygu bod roedd rhywfaint o rhaglennydd sydd mewn gwirionedd yn mynd i mewn a ysgrifennodd y swyddogaeth printf a bwndelu gyda gweddill y safon llyfrgelloedd fel na fyddai rhaglenwyr y dyfodol rhaid i dyblygu ymdrech. Ac rydym yn sicr ddiolchgar bod hynny'n wir, oherwydd gwirio faint cod mewn gwirionedd mae'n cymryd i weithredu printf. Mae'r Llyfrgelloedd C Standard, y printf yn rhan ohoni, yn un o'r arfau mwyaf pwysig i chi wedi mynd i'r afael CS50. Yn ogystal â'r llyfrgell mewnbwn-allbwn lle printf bywydau, mae yna griw o lyfrgelloedd eraill mae'n debyg y byddwch yn defnyddio dros gyfnod o CS50. Er enghraifft, y llyfrgell llinyn swyddogaethau i cymharu llinynnau C, yn cael eu hyd, ac yn concatenate nhw. Ac mae'r llyfrgell mathemateg yn rhoi ddefnyddiol cysonion, fel pi ac e. Yn awr, o gymharu â'r llyfrgelloedd safonol o raglenni eraill ieithoedd, y Llyfrgelloedd Safon C yn wirioneddol fach, ond maent yn dal i gael cryn dipyn o bethau. Ac nid dyna'r i ddweud bod y Llyfrgelloedd safonol yn y dim ond C llyfrgelloedd; mae llawer mwy allan yna yn y byd i chi eu defnyddio, gan gynnwys y Llyfrgell CS50, llyfrgelloedd cartograffeg gyda amgryptio a dadgriptio swyddogaethau, llyfrgelloedd gyda swyddogaethau i amgodio a chwarae yn ôl fideo, ac yn y blaen. Mae hyn yn dod â ni i fynd heibio bwysig. Un o sgiliau hanfodol peirianneg yn gwybod y offer sydd ar gael yn eich blwch offer er mwyn i chi eu defnyddio iddynt ac osgoi ail-ddyfeisio'r olwyn oni bai rhaid i chi wneud hynny. Fel rhaglenwyr, mae llyfrgelloedd yn un o'r mwyaf pwysig offer sydd gennym. Pan fyddwch yn cael eich hun yn wynebu tasg sy'n ymddangos yn ddiflas neu cyffredin, fel dod o hyd i'r hyd llinyn C, i chi Dylai ofyn i chi'ch hun os gallai fod yn wir bod rhywun wedi gwneud yn barod yr un peth o'r blaen. Cyfleoedd yn y gallech ddod o hyd i helpu mewn llyfrgell. Felly, yn nhermau technegol, llyfrgell yn ffeil ddeuaidd sy'n wedi cael ei gynhyrchu trwy gysylltu casgliad o a elwir yn ffeiliau gwrthrych gan ddefnyddio offeryn, rydych guessed, y linker. Ffeiliau Gwrthrych yw'r rhai. Ffeiliau o eich bod yn cael pan fyddwch yn llunio cod ffynhonnell C. Pan rhaglenwyr ysgrifennu llyfrgelloedd, maent fel arfer yn gwahanu eu C cod yn ddau fath o ffeiliau: ffeiliau a ffeiliau pennawd gweithredu. Mae ffeil pennawd gan confensiwn yn cael y. Estyniad ffeil h, ac mae'n cynnwys cod sy'n datgan y llyfrgell adnoddau sydd ar gael i chi eu defnyddio. Mae'r adnoddau hyn yn cynnwys swyddogaethau, newidynnau, structs, diffiniadau math, ac yn y blaen, a chyda'i gilydd, maent yn cyfeirir atynt yn gyffredin fel y rhyngwyneb. Yn wir, os ydych chi'n meddwl erioed beth sydd mewn llyfrgell, y ffeiliau pennawd yw'r lle i chwilio. Er enghraifft, gallwch dynnu i fyny usr / cynnwys / stdio.h a gwirio wybod popeth chi erioed wedi eisiau ei wybod am llyfrgell io safonol. Mae 'na lot o bethau yn y fan hon, a gall gymryd tipyn o amser i ymlafnio drwy'r. Fodd bynnag, ynghyd â Google a'r tudalennau 'man', dyma'r lle i fynd os ydych yn meddwl sut y safon I / O swyddogaethau llyfrgell yn gweithio. Felly, un peth allweddol i'w nodi yma, fodd bynnag, yw y gall ffeiliau pennawd nad ydynt fel arfer yn cynnwys diffiniadau swyddogaeth - hynny yw, y implementations swyddogaeth ei hun. Mae hyn yn enghraifft o wyddoniaeth gyfrifiadurol pwysig egwyddor a elwir yn cuddio gwybodaeth, y cyfeirir atynt hefyd yn gwaith cymaint o amgįu. Gan fod y defnyddiwr neu gleient o lyfrgell, nid oes angen i chi gwybod am y mewnolion y llyfrgell yn er mwyn ei ddefnyddio. Cofiwch gweld printf dim ond ychydig yn ôl? Pe chi erioed wedi gweld y cod ei hun o'r blaen? Wel, yr wyf yn cymryd nad ydych wedi, hyd yn oed er eich gallai wedi defnyddio tunnell printf o weithiau. Y cyfan sydd rhaid i wybod yr oedd y swyddogaeth bresennol datganiad yn y ffeil pennawd stdio.h. Anyway, y fantais o cuddio gwybodaeth dda yw eich bod yn a'r rhaglenni ydych yn ysgrifennu eu hinswleiddio o unrhyw newidiadau yn y cod y gweithredu swyddogaethau llyfrgell. Os yw'r gweithredu newidiadau printf, nid oes gennych i fynd a newid eich holl raglenni sy'n defnyddio printf. Felly, lle mae gweithredu'n mynd? Wel, unwaith eto, yn ôl confensiwn, mae gweithredu yn mynd yn ffeil efo'r estyniad. estyniad ffeil c. Fel arfer, ffeiliau pennawd a ffeiliau gweithredu yn mynd law mewn llaw, felly os ydych chi wedi datgan criw o linyn newydd swyddogaethau yn mystring.h, yna byddwch chi'n diffinio pob un o'r swyddogaethau hynny yn mystring. c. Felly, yna y ffeiliau pennawd a gweithredu wedyn llunio, creu ffeiliau gwrthrych sydd wedi eu cysylltu wedyn yn gyda'i gilydd i gynhyrchu'r ddeuaidd ffeil llyfrgell. Bydd yr awdur llyfrgell wedyn yn llong y ffeil ddeuaidd ar hyd gyda'r ffeiliau pennawd i raglennwyr sydd am ddefnyddio y llyfrgell. Ar y pwynt hwn, nid y. Ffeiliau gweithredu c yn sydd eu hangen, ac eithrio i ail-grynhoi y llyfrgell o'r dechrau, felly maent yn gadael yn aml allan. I ddefnyddio'r llyfrgell C, rhaid i chi wneud dau beth. Yn gyntaf, mae'n rhaid i chi # gynnwys ffeiliau pennawd y llyfrgell a'r ffeil cod ffynhonnell lle rydych am ei ddefnyddio cod y llyfrgell. Mae hyn yn llywio y compiler pob un o'r datganiadau o swyddogaethau, newidynnau, structs, et cetera, yn bresennol yn y ffeiliau pennawd fel y gall y compiler un, yswirio bod eich bod yn defnyddio adnoddau'r llyfrgell yn y ffordd briodol, a dau, yn cynhyrchu y cod cynulliad priodol. Yn dibynnu ar ble ffeiliau pennawd y llyfrgell yn lleoli, y gystrawen # cynnwys yn amrywio. Os yw'r ffeil pennawd yn cael eu lleoli yn y system diofyn yn cynnwys cyfeiriadur - fel arfer, usr/include-- yna bydd y gystrawen cromfachau ongl yn cael ei ddefnyddio, fel yn # cynnwys . Fodd bynnag, os bydd y ffeiliau pennawd wedi eu lleoli yn yr un cyfeirlyfr fel eich cod eich hun, y gystrawen dyfyniad dwbl yn defnyddio, fel yn # cynnwys "mylib.h". Yr ail beth rhaid i chi ei wneud yw cysylltu yn y deuaidd llyfrgell ffeil pan fyddwch yn llunio eich cod. Mae hwn yn gam pwysig super. Cofiwch ein trafodaeth gynharach am sut y pennawd Nid yw ffeiliau yn cynnwys cod gweithredu? Os byddwch yn anghofio y cam hwn, byddwch yn cael gwallau am symbolau heb eu diffinio cyfeirir atynt yn eich cod. Er mwyn datrys hyn, defnyddiwch y-l faner ddilyn yn syth heb le o'r enw y llyfrgell. Ar lawer o systemau, gan gynnwys yr offer, y Safon C Llyfrgelloedd yn cael eu cysylltu yn awtomatig i chi. Fodd bynnag, mae'r llyfrgell yn cael ei bwndelu math weithiau ar wahân ac efallai y bydd angen i fod yn gysylltiedig â-lm. Ar y peiriant, rydym yn gofalu am hyn i chi, ac rydym hefyd yn cysylltu'r llyfrgell CS50 â-lcs50. Gallwch weld hyn i gyd ar y peiriant pan fyddwch yn rhedeg ei wneud. Nawr dylech gael y wybodaeth mae angen i chi ddefnyddio llyfrgelloedd yng C. Cael hwyl archwilio. Fy enw i yw Nate Hardison, ac mae hyn yn CS50.