1 00:00:00,000 --> 00:00:00,487 2 00:00:00,487 --> 00:00:11,210 >> [Musika jotzen] 3 00:00:11,210 --> 00:00:12,100 >> ROB Boden: Guztiak eskubidea. 4 00:00:12,100 --> 00:00:15,620 Beraz, lehenik eta lehenengo gauza, bideoaren Aurpegi ezagunak batetik. 5 00:00:15,620 --> 00:00:22,080 6 00:00:22,080 --> 00:00:22,560 >> [Bideo-erreprodukzioa] 7 00:00:22,560 --> 00:00:23,370 >> -Ondo da. 8 00:00:23,370 --> 00:00:27,150 Hau CS50 da, eta hau da, astean hiru hasieran. 9 00:00:27,150 --> 00:00:29,980 Barkatu ezin nuen han egon zurekin nago gaur egun, baina baimendu aurkeztu me 10 00:00:29,980 --> 00:00:32,880 CS50 Rob Boden egin. 11 00:00:32,880 --> 00:00:33,872 >> [END bideo-erreprodukzioa] 12 00:00:33,872 --> 00:00:39,340 >> [Txaloak ETA CHEERS] 13 00:00:39,340 --> 00:00:41,277 >> ROB Boden: in filmografian The Bideo duten fantastic da. 14 00:00:41,277 --> 00:00:47,280 15 00:00:47,280 --> 00:00:47,770 Ondo da. 16 00:00:47,770 --> 00:00:50,960 Beraz, lehenengo, han bazkaldu bat da. 17 00:00:50,960 --> 00:00:52,330 1:15 etan bihar da. 18 00:00:52,330 --> 00:00:54,480 Ez dago bazkaria ostiral honetan. 19 00:00:54,480 --> 00:00:55,810 Quora rekin da. 20 00:00:55,810 --> 00:01:00,190 Eta Tommy ez da hemen oraindik, baina bat Jende ohia buru CF dago, 21 00:01:00,190 --> 00:01:01,530 Tommy McWilliam. 22 00:01:01,530 --> 00:01:02,730 Hain dibertigarria lasaia izan zuen. 23 00:01:02,730 --> 00:01:04,819 Etorri behar duzu. 24 00:01:04,819 --> 00:01:05,900 >> Ondo da. 25 00:01:05,900 --> 00:01:11,360 Beraz, azken astean, gain hautsi hasi ginen kate bat benetan zer den azaltzeko. 26 00:01:11,360 --> 00:01:14,830 Hasieratik dugu ezagutzen duten karaktere-sekuentzia bat da. 27 00:01:14,830 --> 00:01:18,130 Baina azken astean, hain zuzen ere lan egin dugu zer dela benetan sekuentzia bat 28 00:01:18,130 --> 00:01:22,110 pertsonaiak, bai, orain dugu karaktere array. 29 00:01:22,110 --> 00:01:26,450 Eta badakigu kate bat, array bat da pertsonaien, oso amaieran, 30 00:01:26,450 --> 00:01:30,920 null byte berezia hau dugu, hau backslash 0, eta horren amaieran adierazten 31 00:01:30,920 --> 00:01:32,230 katea. 32 00:01:32,230 --> 00:01:36,970 >> Eta horrela kate bat array bat da pertsonaiak, baina izan dezakegu baino gehiago 33 00:01:36,970 --> 00:01:39,530 besterik pertsonaiak ezagutuko ditu, edozein array bat izan dezakegu 34 00:01:39,530 --> 00:01:40,890 Gauza mota nahi dugun. 35 00:01:40,890 --> 00:01:51,570 Beraz, gogoratzen duzu astetik bada, Adin programa hori David sartu 36 00:01:51,570 --> 00:01:53,560 benetan azkar. 37 00:01:53,560 --> 00:01:57,010 Beraz, lehenengo gauza egin behar dugu, galdetu erabiltzaileari zenbaki oso bat eman du, 38 00:01:57,010 --> 00:01:58,800 Gelan pertsona kopurua. 39 00:01:58,800 --> 00:02:01,260 Behin zenbaki oso dugula, array bat deklaratzen ari gara. 40 00:02:01,260 --> 00:02:02,890 Iragarki bracket sintaxia hau. 41 00:02:02,890 --> 00:02:04,540 Ohitu dela joan zaren. 42 00:02:04,540 --> 00:02:09,430 >> Beraz, zenbaki osoen array bat deklaratzen ari gara Adin izenekoa, eta badira n 43 00:02:09,430 --> 00:02:12,080 array honetan osokoak. 44 00:02:12,080 --> 00:02:16,480 Beraz, eredu honetan hementxe, 4 int honetan berdin i 0, i n baino gutxiago, i plus 45 00:02:16,480 --> 00:02:20,580 plus, hori ere eredu bat izango da joan duzu oso erabiltzen duten urratsak emateko. 46 00:02:20,580 --> 00:02:24,000 Hori nahiko askoz nola zauden delako Beti matrizeak baino gehiago batetik bestera joateko. 47 00:02:24,000 --> 00:02:26,330 Beraz, gogoratu n dela gure array luzera. 48 00:02:26,330 --> 00:02:32,120 Eta beraz, hemen, behin eta berriz galdetzen ari gara Pertsona gelan i adina da. 49 00:02:32,120 --> 00:02:36,640 >> Honen ondoren, jaitsiko gara, eta edozein dela ere arrazoia arbitrarioak, orduan dugu 50 00:02:36,640 --> 00:02:40,220 inprimatu zenbat urte ari dira joan Urte bat izango da hemendik aurrera. 51 00:02:40,220 --> 00:02:49,980 Eta programa hori exekutatzen, dezagun Adin egiteko, dot barrarik adin. 52 00:02:49,980 --> 00:02:53,010 Beraz gelan pertsonen kopurua, demagun, hiru dira. 53 00:02:53,010 --> 00:02:59,880 Eta esan, lehen pertsona da 13, hurrengo 26 da, eta azkena izan da 30. 54 00:02:59,880 --> 00:03:05,080 Beraz, ondoren, hiru horiek baino gehiago batetik bestera izango da pertsonak, inprimatu 14, 27, eta 31. 55 00:03:05,080 --> 00:03:16,060 >> Beraz gogoan izan denean bat aldarrikatzen dugu tamaina n array, horretan indizeak 56 00:03:16,060 --> 00:03:19,950 array, matrizearen balioak ditu eta indizeak 0, 1, 2, modu guztiak 57 00:03:19,950 --> 00:03:21,680 gehienez n ken 1. 58 00:03:21,680 --> 00:03:26,255 Beraz, esan dugu ez hiru pertsona izan ziren gelan, eta jarri dugu hemen 59 00:03:26,255 --> 00:03:29,850 honen bidez lehen iterazio begizta, 0 izango da i joan. 60 00:03:29,850 --> 00:03:31,650 Beraz, indizea 0. 61 00:03:31,650 --> 00:03:34,540 Lehenengoa esleitzea ari gara adina, erabiltzaileak sartzen da. 62 00:03:34,540 --> 00:03:38,870 Ondoren, hurrengo urtean, sartzen ari gara bigarren n erabiltzaileari sartzen da, eta urtean 63 00:03:38,870 --> 00:03:40,580 bi, azken n ondoan. 64 00:03:40,580 --> 00:03:44,200 >> Beraz nabarituko tamaina array hiru ez du ezer izan 65 00:03:44,200 --> 00:03:46,040 indizearen hiru urtean. 66 00:03:46,040 --> 00:03:49,036 Hau ez da zuzena. 67 00:03:49,036 --> 00:03:50,250 Ondo da. 68 00:03:50,250 --> 00:03:55,136 Beraz, joan atzera hemen. 69 00:03:55,136 --> 00:03:57,650 70 00:03:57,650 --> 00:04:01,590 Beraz, orain dugu tratatzen array, ezagutza batzuk izan dugu. 71 00:04:01,590 --> 00:04:03,780 Orain ari gara mugitu komando joan lerroko argumentuak, diren izango da 72 00:04:03,780 --> 00:04:05,890 Nahiko arazo multzo honetan garrantzitsua. 73 00:04:05,890 --> 00:04:09,670 >> Beraz, orain arte, betiere duzun zure eginkizun nagusia izendatu, dugu 74 00:04:09,670 --> 00:04:11,230 esan int hutsune nagusia. 75 00:04:11,230 --> 00:04:14,070 Beraz, hutsunea besterik esan nahi ez dugu inolako pasatuz 76 00:04:14,070 --> 00:04:16,440 funtzio honen argumentuak. 77 00:04:16,440 --> 00:04:19,190 Orain ari gara nagusia duten ikusteko joan argudio batzuk hartu daiteke. 78 00:04:19,190 --> 00:04:22,470 Hemen horietako int deitzen dugun argc eta katea argv parentesi artean. 79 00:04:22,470 --> 00:04:26,930 Parentesi artean, berriro ere, adieraziz array horrek gure aztergaia. 80 00:04:26,930 --> 00:04:31,850 Beraz, hemen, kate argv parentesi artean, gaude kateak array aurre. 81 00:04:31,850 --> 00:04:35,360 Beraz argc, hori adierazteko joan zenbat argumentuak dugu 82 00:04:35,360 --> 00:04:37,580 programa hau gainditu. 83 00:04:37,580 --> 00:04:46,050 Eta zer esan nahi duen ikusteko, dezagun hau ixteko. 84 00:04:46,050 --> 00:04:46,490 >> Ados. 85 00:04:46,490 --> 00:04:50,790 Beraz, orain arte, nik exekutatu dugu behin dot barra adin bezalako programa. 86 00:04:50,790 --> 00:04:55,250 Gaitezke, komando-lerroan, iragana argumentuak pasatzeko, beraz, terminoa, komando 87 00:04:55,250 --> 00:04:56,550 lerroko argumentuak. 88 00:04:56,550 --> 00:04:59,760 Beraz, lehen argumentua, kaixo mundua. 89 00:04:59,760 --> 00:05:03,350 Beraz, hemen, argc hiru izango litzateke. 90 00:05:03,350 --> 00:05:07,720 Argumentuak kopuruan da komando-lerroan. 91 00:05:07,720 --> 00:05:12,840 Argc da beti, gutxienez 1, geroztik dot slash adin, berez, bat bezala zenbatzen 92 00:05:12,840 --> 00:05:14,490 komando lerroko argumentuak. 93 00:05:14,490 --> 00:05:17,010 >> Ondoren kaixo lehenengoa izango da. 94 00:05:17,010 --> 00:05:20,460 Zeroth dot barra adin bada, orduan kaixo lehen da, eta mundua dago 95 00:05:20,460 --> 00:05:22,830 Bigarren komando lerroko argumentu. 96 00:05:22,830 --> 00:05:29,490 Beraz, katea argv du, ari gara ikusten joan, kateak, dot barra dauka 97 00:05:29,490 --> 00:05:33,830 Adin, kaixo, eta munduko. 98 00:05:33,830 --> 00:05:38,945 Eta, Daviden eskaera eginda, goazen bideo bat sartuz erreproduzitzeko. 99 00:05:38,945 --> 00:05:42,486 100 00:05:42,486 --> 00:05:43,890 >> [Bideo-erreprodukzioa] 101 00:05:43,890 --> 00:05:46,240 >> -Orain arte programak dugu hemen idatzizko, deklaratzen dugu 102 00:05:46,240 --> 00:05:48,500 int gisa nagusia hutsune nagusia. 103 00:05:48,500 --> 00:05:51,170 Eta denbora hori guztia, hutsune hori besterik ez dira zehazten diren 104 00:05:51,170 --> 00:05:54,430 programa ez du inolako hartu komando lerroko argumentuak. 105 00:05:54,430 --> 00:05:57,750 Beste era batera esanda, erabiltzaileak bat exekutatzen denean programa, berak komando eman dezake 106 00:05:57,750 --> 00:06:01,710 lerroko argumentu osagarriak idatziz Hitzak edo esaldiak ondoren programaren 107 00:06:01,710 --> 00:06:03,000 gonbitan izendatzeko. 108 00:06:03,000 --> 00:06:06,550 >> Beno, ez baduzu zure programa nahi duzun komando lerroko argumentuak, bat edo hartu 109 00:06:06,550 --> 00:06:10,540 esaterako, hitz gehiago, ordezkatu behar dugu argumentuak pare bat gal. 110 00:06:10,540 --> 00:06:12,200 Beraz, utzi egin dela. 111 00:06:12,200 --> 00:06:15,750 Honakoak cs50.h. 112 00:06:15,750 --> 00:06:19,360 Honakoak io.h. estandarra 113 00:06:19,360 --> 00:06:20,760 Int nagusia. 114 00:06:20,760 --> 00:06:26,330 Eta orain, hutsune ordez, noa joan argc izeneko int bat, eta zehaztu 115 00:06:26,330 --> 00:06:28,780 argv izeneko kateen array. 116 00:06:28,780 --> 00:06:31,820 Orain, argc eta argv dira besterik gabe konbentzio. 117 00:06:31,820 --> 00:06:34,000 >> Dugu argudio horiek deitzen zitekeen gehienetan ezer nahi dugu. 118 00:06:34,000 --> 00:06:37,630 Baina, zer da garrantzitsua da argc dela int bat, izan ere, definizioz, da 119 00:06:37,630 --> 00:06:41,360 argumentu Aldaketa eduki behar, du guztira hitz kopuru hori 120 00:06:41,360 --> 00:06:43,380 Erabiltzaileak bere gonbitean idatzi ditu. 121 00:06:43,380 --> 00:06:47,910 argv, bere aldetik, argudio vector, da array bat gordetzeko benetan izango da 122 00:06:47,910 --> 00:06:52,020 Erabiltzaileak ditu hitzen guztiak bere gonbitean idatzi. 123 00:06:52,020 --> 00:06:54,500 >> Dezagun jarraitu orain zerbait egin behar bat edo gehiago hauek batera 124 00:06:54,500 --> 00:06:55,660 komando lerroko argumentuak. 125 00:06:55,660 --> 00:07:00,070 Bereziki, dezagun aurrera eta inprimatu dena delakoa hitza erabiltzaile motak 126 00:07:00,070 --> 00:07:03,960 programaren izena ondoren gonbitan. 127 00:07:03,960 --> 00:07:04,730 Irekita parentesia. 128 00:07:04,730 --> 00:07:06,240 Itxi parentesia. 129 00:07:06,240 --> 00:07:10,510 Printf ehuneko ren alderantzizko barra eta koma. 130 00:07:10,510 --> 00:07:14,550 Eta orain zer printf balioa kontatu behar dut den leku-marka duten sartu konektatu. 131 00:07:14,550 --> 00:07:18,600 Lehen hitza Erabiltzaileak ez du nahi dut programaren izena ondoren idatzi, 132 00:07:18,600 --> 00:07:23,130 eta beraz, ez dut zehaztu joan argv parentesi 1, itxi 133 00:07:23,130 --> 00:07:24,830 parentesi, puntu eta koma. 134 00:07:24,830 --> 00:07:27,290 >> Orain, zergatik parentesi 1 eta ez parentesirik 0? 135 00:07:27,290 --> 00:07:30,990 Beno, bihurtzen da, automatikoki gordetako argv 0 izango da, joan den 136 00:07:30,990 --> 00:07:32,620 programa oraingo izena. 137 00:07:32,620 --> 00:07:36,180 Beraz, lehen hitza duten erabiltzaile motak programaren izena da ondoren, egindako 138 00:07:36,180 --> 00:07:38,990 konbentzio, izango da argv 1 gordeta. 139 00:07:38,990 --> 00:07:42,380 Dezagun konpilatu en orain eta programa hau exekutatu. 140 00:07:42,380 --> 00:07:47,780 >> Egin argv 0, dot barra argv 0. 141 00:07:47,780 --> 00:07:50,520 Eta orain hitz bat bezalakoa kaixo. 142 00:07:50,520 --> 00:07:51,670 Sartu. 143 00:07:51,670 --> 00:07:53,520 Eta hor egon behar dugu, kaixo. 144 00:07:53,520 --> 00:07:55,750 >> [END bideo-erreprodukzioa] 145 00:07:55,750 --> 00:07:57,000 >> ROB Boden: Guztiak eskubidea. 146 00:07:57,000 --> 00:07:59,380 147 00:07:59,380 --> 00:08:01,230 Ixtea. 148 00:08:01,230 --> 00:08:16,730 Beraz, programa horretan begirada bat hartu duten gurekin sartu besterik ez dugu, bai, besterik 149 00:08:16,730 --> 00:08:24,710 , erakusteko inprimatu dugu 0 argv bada, egin, orain zer da, argv 0, dot barra argv 0. 150 00:08:24,710 --> 00:08:30,440 Beraz, espero bezala, zer inprimatzeko dut programaren izena, argv 0 da geroztik 151 00:08:30,440 --> 00:08:32,970 beti izango da du programaren izena. 152 00:08:32,970 --> 00:08:35,640 Baina egin dezagun zerbait bat utzi interesgarriagoa bit. 153 00:08:35,640 --> 00:08:42,080 >> Beraz arazoa multzoan, izango duzu honen funtzioa, atoi sartu. 154 00:08:42,080 --> 00:08:44,440 Beraz, zer egin atoi erabili dugu? 155 00:08:44,440 --> 00:08:48,550 Hori bihurtzeko joan a zenbaki oso bat katea. 156 00:08:48,550 --> 00:08:53,280 Beraz, katea pasatzen badut, bat, bi, hiru, atoi, hau bihurtzeko egingo duen 157 00:08:53,280 --> 00:08:56,910 zenbaki osora, bat, bi, hiru. 158 00:08:56,910 --> 00:09:01,480 Beraz, lehenengo bihurtzeko joan Komando lerro osoko bat argumentu, 159 00:09:01,480 --> 00:09:05,690 eta, ondoren, osoko zenbaki hori inprimatu. 160 00:09:05,690 --> 00:09:09,680 >> Beraz, funtsean, gara motatako GetInt reimplementing, besterik 161 00:09:09,680 --> 00:09:12,350 Zenbaki oso komando at idatzi duzula line programan ordez 162 00:09:12,350 --> 00:09:14,560 interaktiboki. 163 00:09:14,560 --> 00:09:23,170 Beraz, ondoren, argv 0 eginez, egin dezagun hemen da, eta ixtea. 164 00:09:23,170 --> 00:09:27,670 Beraz argv 0 korrika, eta dezagun idatzi Zenbaki oso, bat, hiru, lau, bat, bi, bi. 165 00:09:27,670 --> 00:09:30,840 Beraz osokoa inprimatu ahal izango da, inork bi, hiru, lau, bat, bi. 166 00:09:30,840 --> 00:09:35,500 Badira ñabardurak batzuk ATOI izateko ezer ez zaintzen gelditu egingo da 167 00:09:35,500 --> 00:09:39,040 baliozko zenbakizko pertsonaia haratago, baina horrek ez du axola. 168 00:09:39,040 --> 00:09:42,870 >> Beraz, zer uste duzu gertatzen egin behar dut? 169 00:09:42,870 --> 00:09:45,520 170 00:09:45,520 --> 00:09:47,050 Segmentaziuo hutsegitea. 171 00:09:47,050 --> 00:09:50,410 Beraz, zergatik da hori? 172 00:09:50,410 --> 00:09:56,060 Atzera duzu gure programa at bada begiratu, gaude argv 1, lehen argumentua bihurtzeko 173 00:09:56,060 --> 00:09:59,610 programaren izenaren ondoren, zenbaki oso bat izateko. 174 00:09:59,610 --> 00:10:03,350 Baina badira argumentu gabe igaro da programaren izenaren ondoren. 175 00:10:03,350 --> 00:10:08,060 Beraz, hemen, ikusten dugun hori buggy bat da programa, geroztik, exekutatu saiatzen badugu 176 00:10:08,060 --> 00:10:10,530 argumenturik gabe, hura besterik ez du huts egingo. 177 00:10:10,530 --> 00:10:16,950 >> Beraz, beste bat ikusiko duzu patroi komun zerbait, argc da gutxiago bada 178 00:10:16,950 --> 00:10:21,100 bi, ez dagoela ez zen adieraziz baino gutxienez programaren izena eta bat 179 00:10:21,100 --> 00:10:29,100 Lehen argumentua, orduan zerbait egin dugu printf bezala, ez da nahikoa 180 00:10:29,100 --> 00:10:31,190 komando lerroko argumentuak. 181 00:10:31,190 --> 00:10:33,170 Hori da, ziurrenik, ez on bat inprimatzeko, seguruenik zerbait, atsegin 182 00:10:33,170 --> 00:10:35,440 zenbaki oso bat sartu behar duzu komando-lerroan. 183 00:10:35,440 --> 00:10:37,450 Besterik ez dut amaituko han. 184 00:10:37,450 --> 00:10:39,600 Eta gero itzuliko 1. 185 00:10:39,600 --> 00:10:44,740 Beraz, gogoratu, gure amaieran programa, itzuliko gara bada 0, moduko hori 186 00:10:44,740 --> 00:10:47,060 arrakasta adierazten du. 187 00:10:47,060 --> 00:10:50,940 Eta nagusiak ere automatikoki 0 itzultzen ez baduzu. 188 00:10:50,940 --> 00:10:55,800 >> Beraz, hemen, retuning ari gara 1 adierazten duten hori ez da arrakasta. 189 00:10:55,800 --> 00:11:01,000 Eta nahi duzuna itzuli ahal izango duzu, besterik ez, 0 arrakasta adierazten du, eta 190 00:11:01,000 --> 00:11:03,390 beste ezer porrota adierazten. 191 00:11:03,390 --> 00:11:04,855 Hargatik exekutatu gauzen bertsio hau. 192 00:11:04,855 --> 00:11:12,880 193 00:11:12,880 --> 00:11:16,600 Beraz, gaur egun, ez badugu komando-lerro bat sartu argumentua, behar bezala izango da kontatu 194 00:11:16,600 --> 00:11:18,290 digu, ez da nahikoa, komando-lerroan. 195 00:11:18,290 --> 00:11:20,610 Ez zuen esaldia bukatzeko. 196 00:11:20,610 --> 00:11:24,950 Bestela, benetan pasatzen dugu bada bat, programa osatu ahal izango da. 197 00:11:24,950 --> 00:11:27,920 Beraz, hau da argc nola erabiliko zenuke in ordena zenbakia balioztatzeko 198 00:11:27,920 --> 00:11:30,630 komando lerroko argumentuak duten benetan pasatu dira. 199 00:11:30,630 --> 00:11:39,360 >> Hargatik pixka bat gehiago egiteko programa honetan zaila, eta bigarren begiratu 200 00:11:39,360 --> 00:11:42,180 Gauzak iterazio. 201 00:11:42,180 --> 00:11:46,310 Beraz, gaur egun, ez ari inprimatzeko dugu komando lerroko argumentu lehen. 202 00:11:46,310 --> 00:11:51,210 Hemen, int i berdin batetik ari gara errepikatzean 0, argc baino gutxiago da i, i plus 203 00:11:51,210 --> 00:11:55,280 gehi, eta inprimatzeko argv, indizea i. 204 00:11:55,280 --> 00:11:59,300 Beraz, eredu honetan, berriz ere, hau da, bera eredua lehen bezala, ordez ezik 205 00:11:59,300 --> 00:12:02,600 aldagaia deituz n, argc erabiltzen ari gara. 206 00:12:02,600 --> 00:12:09,520 >> Beraz, indize bakoitzaren gainetik dago, hau errepikatzean array, eta bakoitza inprimatzeko 207 00:12:09,520 --> 00:12:11,910 Array horretan elementu. 208 00:12:11,910 --> 00:12:20,300 Eta beraz, programa hau exekutatu dugu, bai, Ez nuen edozein komando lerroan sartu 209 00:12:20,300 --> 00:12:22,540 argumentuak, beraz, besterik gabe, grabatuak programaren izenarekin. 210 00:12:22,540 --> 00:12:26,053 Gauza mordo bat idatzi dut bada, egingo inprimatu bat, bakoitza bere lerroan kabuz. 211 00:12:26,053 --> 00:12:31,213 212 00:12:31,213 --> 00:12:32,210 >> Ados. 213 00:12:32,210 --> 00:12:34,770 Beraz, dezagun urrats bat gehiago. 214 00:12:34,770 --> 00:12:38,890 Eta argumentu bakoitza inprimatzeko ordez Lerro batean, utzi bakoitzaren inprimatu 215 00:12:38,890 --> 00:12:42,590 argumentu bakoitzaren izaera Lerro batean. 216 00:12:42,590 --> 00:12:46,700 Beraz, gogoratu argv dela kateak array bat. 217 00:12:46,700 --> 00:12:50,960 Beraz, zer kate bat da, baina karaktere array bat? 218 00:12:50,960 --> 00:12:57,140 Beraz, horrek esan nahi du argv benetan bat pertsonaiak ezagutuko ditu array. 219 00:12:57,140 --> 00:13:04,920 Beraz aprobetxatuz hartako, dezagun alde batetara honetan oraingoz. 220 00:13:04,920 --> 00:13:08,190 Utzi kontuan hartu besterik ez en kate argv 0. 221 00:13:08,190 --> 00:13:14,170 >> Beraz, pertsonaia bakoitzak ekarri nahi badugu argv 0 Lerro batean, orduan nahi dut 222 00:13:14,170 --> 00:13:19,500 ereduarekin ari gara erabiltzen egiteko, i da array luzera baino gutxiago, 223 00:13:19,500 --> 00:13:23,990 Hemen, da strlen, hori da ez, zer egin nahi dut, katea 224 00:13:23,990 --> 00:13:26,450 ak berdin argv 0. 225 00:13:26,450 --> 00:13:30,390 Beraz, gure luzera baino txikiagoa da i array, eta kasu honetan array bat da 226 00:13:30,390 --> 00:13:34,410 pertsonaien, i plus plus. 227 00:13:34,410 --> 00:13:41,040 Eta, beraz, azken astean ikusi genuen bezala, ezin hobea da kanpo strlen duten mugitzeko badugu 228 00:13:41,040 --> 00:13:45,210 baldintza, geroztik n be gehituz egingo s strlen go dugu aldi bakoitzean 229 00:13:45,210 --> 00:13:47,720 begizta bidez, eta hura da ez dira aldatzen joan. 230 00:13:47,720 --> 00:13:50,230 Beraz, ezarri ahal izango da hemen baino gehiago n berdina dugu. 231 00:13:50,230 --> 00:13:54,260 232 00:13:54,260 --> 00:13:55,170 >> Ados. 233 00:13:55,170 --> 00:14:01,320 Beraz, orain, zu baino gehiago errepikatzean dugu array indizea bakoitzean. 234 00:14:01,320 --> 00:14:05,630 Eta beraz, bakoitzak inprimatu nahi badugu Array hori, ehuneko c pertsonaia da 235 00:14:05,630 --> 00:14:06,880 Ez erabili nahi dugu pertsonaiak. 236 00:14:06,880 --> 00:14:10,750 237 00:14:10,750 --> 00:14:19,770 Eta orain parentesi i bat izango da, joan den katea, indizea pertsonaia i, hala badagokio du 238 00:14:19,770 --> 00:14:20,970 katea ziren kaixo. 239 00:14:20,970 --> 00:14:27,530 Orduz s 0 da h izango da, parentesi s 1 E izango da, eta abar. 240 00:14:27,530 --> 00:14:30,800 >> Beraz, orain konbinatu nahi dugu bi gauza horiek. 241 00:14:30,800 --> 00:14:35,440 Pertsonaia bakoitzak inprimatu nahi dugu komando lerroko argumentu bakoitzaren. 242 00:14:35,440 --> 00:14:38,950 Beraz, behar joan loop habiaratu. 243 00:14:38,950 --> 00:14:47,480 Eta konbentzionalki lehen kontagailu da i, hurrengoa da j izango da, n 244 00:14:47,480 --> 00:14:54,450 argv i strlen izango da, i n baino gutxiago, i plus plus da. 245 00:14:54,450 --> 00:14:59,150 246 00:14:59,150 --> 00:15:06,870 Eta, orain, ordez inprimatzeko argv i, beraz, argv parentesi i da indizea joan - 247 00:15:06,870 --> 00:15:14,280 hori i-garren komando lerroan izango da argumentua, argv i, j da, joan 248 00:15:14,280 --> 00:15:16,925 j izaera izango i-garren argumentua. 249 00:15:16,925 --> 00:15:20,580 250 00:15:20,580 --> 00:15:24,810 Dut hau kentzeko hemen orain berriz jarri genuenetik begizta horretan. 251 00:15:24,810 --> 00:15:33,900 Hain da katea s berdinen baliokidea argv i, eta gero ak parentesia j. 252 00:15:33,900 --> 00:15:36,980 >> Beno, ez dugu behar den deklaratzen z aldagai hau. 253 00:15:36,980 --> 00:15:44,530 Horren ordez, besterik ez dugu konbinatu horiek bi duguna izan sartu, argv i, j. 254 00:15:44,530 --> 00:15:45,780 >> HIZLARIA 1: [INAUDIBLE]. 255 00:15:45,780 --> 00:15:48,850 256 00:15:48,850 --> 00:15:49,680 >> ROB Boden: dei Good. 257 00:15:49,680 --> 00:15:52,936 Beraz, hau hondatuta dago. 258 00:15:52,936 --> 00:15:55,510 Benetan I ran bada, ez genuke konturatu hau. 259 00:15:55,510 --> 00:16:01,210 Beraz counter buruzko zaintzen dut zehatz honen in 260 00:16:01,210 --> 00:16:05,410 begizta j, iterator da. 261 00:16:05,410 --> 00:16:08,560 Beraz gaiak sartu zenuke exekutatu dute, Ziurrenik begizta infinitu bat, ez badugu 262 00:16:08,560 --> 00:16:09,540 izan ez finkoa. 263 00:16:09,540 --> 00:16:12,220 Horregatik ere ari gara hitz gaur arazketa buruz. 264 00:16:12,220 --> 00:16:13,120 >> Ados. 265 00:16:13,120 --> 00:16:15,240 Hargatik exekutatu programa hau. 266 00:16:15,240 --> 00:16:21,200 Eta utzi bereizi printf gehi benetan en hementxe egingo dela besterik inprimatu 267 00:16:21,200 --> 00:16:27,480 lerro beste, horrek esan nahi du geroztik dugunean programa exekutatu, ez dago huts bat izango 268 00:16:27,480 --> 00:16:31,830 pertsonaia bakoitzaren artean lerro komando lerroko argumentu bakoitzeko. 269 00:16:31,830 --> 00:16:33,448 Beno, zer esan nahi duen ikusiko dugu. 270 00:16:33,448 --> 00:16:37,310 271 00:16:37,310 --> 00:16:37,790 Oop. 272 00:16:37,790 --> 00:16:39,870 Akatsen batzuk lortu. 273 00:16:39,870 --> 00:16:42,860 Error inplizituki deklaratzen liburutegi funtzioa strlen. 274 00:16:42,860 --> 00:16:51,630 >> Beraz, atzera egingo gure programa sartu, dut honakoak string.h egiaztatu ahazten. 275 00:16:51,630 --> 00:16:54,240 276 00:16:54,240 --> 00:16:57,730 Beraz string.h izango da izan goiburu fitxategi hori adierazten 277 00:16:57,730 --> 00:16:58,980 funtzioa strlen. 278 00:16:58,980 --> 00:17:04,650 279 00:17:04,650 --> 00:17:06,060 Ados, hura biltzen. 280 00:17:06,060 --> 00:17:09,109 Orain, dezagun exekutatu. 281 00:17:09,109 --> 00:17:10,930 Beraz, besterik ez da. 282 00:17:10,930 --> 00:17:17,790 Honez nahi inprimatu goaz gure programaren izena, kaixo mundua. 283 00:17:17,790 --> 00:17:23,510 Honez gauza bakoitza inprimatu, bata joan pertsonaia, bere lerro propioa. 284 00:17:23,510 --> 00:17:24,540 Ados. 285 00:17:24,540 --> 00:17:30,625 >> Hargatik hartu benetan en esta urrats bat gehiago. 286 00:17:30,625 --> 00:17:34,050 287 00:17:34,050 --> 00:17:39,700 Eta horren ordez string.h erabiliz, dezagun nola gure kabuz ezartzeko genuke pentsatu 288 00:17:39,700 --> 00:17:41,420 funtzioa strlen. 289 00:17:41,420 --> 00:17:45,600 Beraz, berehala ematen dut funtzioa sinadura. 290 00:17:45,600 --> 00:17:52,900 Hargatik deitu my_strlen eta berau da kate bat hartu argumentu gisa joan, 291 00:17:52,900 --> 00:17:57,220 eta itzultzeko espero dugu katea luzera. 292 00:17:57,220 --> 00:18:03,430 Beraz, non da tipo hori? 293 00:18:03,430 --> 00:18:04,990 Bai. 294 00:18:04,990 --> 00:18:06,740 Ados. 295 00:18:06,740 --> 00:18:12,900 Beraz, gogoratu lehenago diapositiba duen astetik ere izan zen, hori bat 296 00:18:12,900 --> 00:18:18,890 pertsonaiak ezagutuko ditu, bai, katea, beraz, demagun hau gure katea s da. 297 00:18:18,890 --> 00:18:29,870 Beraz, s katea bada, kaixo, gero, H-E-L-L-O, memoria, hori da joan den 298 00:18:29,870 --> 00:18:35,610 izan, eta, ondoren backslash honetan 0 pertsonaia. 299 00:18:35,610 --> 00:18:39,170 >> Beraz, nola ez sua luzera lortuko dugu? 300 00:18:39,170 --> 00:18:43,190 Beno, trikimailu da hau bila erreakzio 0 pertsonaia, null honetan 301 00:18:43,190 --> 00:18:44,380 terminator. 302 00:18:44,380 --> 00:18:50,270 Beraz algoritmoa va gutxi antzeko zerbait izan nahi du 303 00:18:50,270 --> 00:18:51,510 nahikoa karaktere - 304 00:18:51,510 --> 00:18:56,180 egin ditzagun eskuan hau irudikatzeko batzuk counter, dezagun deitu int luzera hau. 305 00:18:56,180 --> 00:19:00,060 Beraz, hemen baino gehiago hasita, gaude Gure katea baino gehiago batetik bestera joan. 306 00:19:00,060 --> 00:19:04,100 >> Beraz, lehen pertsonaia, H da, eta ez da atzera slash 0, beraz, 307 00:19:04,100 --> 00:19:05,170 luzera 1 da. 308 00:19:05,170 --> 00:19:08,050 Hurrengo pertsonaia batetik bestera joateko, E, eta nik backslash ez 0. 309 00:19:08,050 --> 00:19:09,630 Luzera 2 da. 310 00:19:09,630 --> 00:19:10,960 L, 3. 311 00:19:10,960 --> 00:19:11,850 L, 4. 312 00:19:11,850 --> 00:19:13,050 O, 5. 313 00:19:13,050 --> 00:19:16,690 Eta, azkenik, backslash iritsiko gara 0, eta beraz, bide horretan, ondo, 314 00:19:16,690 --> 00:19:17,780 kate hau amaitu egingo da. 315 00:19:17,780 --> 00:19:20,130 Hargatik itzuli 5. 316 00:19:20,130 --> 00:19:33,630 >> Beraz, benetan gauzatzeko, lehenik eta behin, my n luzera funtzioak 0, nire eskuineko eskua. 317 00:19:33,630 --> 00:19:36,088 Eta ari gara batetik bestera joateko joan - 318 00:19:36,088 --> 00:19:38,000 >> HIZLARIA 1: [INAUDIBLE] 319 00:19:38,000 --> 00:19:38,640 >> ROB Boden: Oh, tiro. 320 00:19:38,640 --> 00:19:39,870 Ona deia. 321 00:19:39,870 --> 00:19:42,680 Boom. 322 00:19:42,680 --> 00:19:44,140 Beraz, n luzerakoa funtzioak 0 itzultzen du. 323 00:19:44,140 --> 00:19:46,910 324 00:19:46,910 --> 00:19:58,310 Beraz, gaur egun, berriz, s luzerak ez du berdinak eta, ondoren, backslash 0. 325 00:19:58,310 --> 00:20:04,660 Beraz, gogoratu, backslash hau 0, bat da benetako pertsonaia, eta bertan adierazten 326 00:20:04,660 --> 00:20:05,820 katearen amaieran. 327 00:20:05,820 --> 00:20:09,850 Just bezala, ere, backslash n benetako pertsonaia da. 328 00:20:09,850 --> 00:20:14,040 Backslash 0 da adierazteko joan gure katea amaieran. 329 00:20:14,040 --> 00:20:15,414 Ez dut nahi duten han jarri. 330 00:20:15,414 --> 00:20:19,190 331 00:20:19,190 --> 00:20:25,620 Eta berriz s luzerak indexatuta ez da null amaierako berdina, ondoren 332 00:20:25,620 --> 00:20:27,130 besterik ari gara luzera Kontatzailea joan. 333 00:20:27,130 --> 00:20:29,860 334 00:20:29,860 --> 00:20:34,880 Beraz, ondoren, gure programa amaieran, luzera da, azkenean joan 335 00:20:34,880 --> 00:20:37,610 izan 5 kasu honetan. 336 00:20:37,610 --> 00:20:39,210 Eta besterik ez dugu itzultzeko luzera. 337 00:20:39,210 --> 00:20:42,570 338 00:20:42,570 --> 00:20:43,530 >> Ados. 339 00:20:43,530 --> 00:20:48,290 Beraz, gaur hemen, ez dut egin my_strlen. 340 00:20:48,290 --> 00:20:50,700 Dezagun konpilatu ziurtatu Guztia exekutatzen leunki. 341 00:20:50,700 --> 00:20:55,820 342 00:20:55,820 --> 00:20:58,210 Zen egiten dut 2 in? 343 00:20:58,210 --> 00:21:00,565 Edo 1 izan zen? 344 00:21:00,565 --> 00:21:01,940 Hori egin behar. 345 00:21:01,940 --> 00:21:02,690 Ondo da. 346 00:21:02,690 --> 00:21:08,490 Beraz, hau argv 2 da. 347 00:21:08,490 --> 00:21:11,585 Works aurreikusi bezala, nahiz eta zen bat, hori egin nuen hemen? 348 00:21:11,585 --> 00:21:15,060 349 00:21:15,060 --> 00:21:15,550 Bai. 350 00:21:15,550 --> 00:21:16,760 Ados. 351 00:21:16,760 --> 00:21:21,820 Gauzen bertsio hau ez dute linea berria printf ondoren, baina 352 00:21:21,820 --> 00:21:22,910 ez du desberdintasunik. 353 00:21:22,910 --> 00:21:23,300 Ados. 354 00:21:23,300 --> 00:21:25,780 Beraz, lan egin zuen, espero bezala. 355 00:21:25,780 --> 00:21:34,750 >> Orain dugu, nahiz eta urrats bat konbinatu ahal aurrerago, non oharra hemen, ondo, 356 00:21:34,750 --> 00:21:38,920 Lehenengo, argv of strlen grabbing ari gara i, eta gero zu baino gehiago errepikatzean dugu 357 00:21:38,920 --> 00:21:41,450 kate horretan pertsonaia bakoitzak. 358 00:21:41,450 --> 00:21:47,480 Beraz ordez hori egiteko, zer badugu besterik konbinatu zain logika hau 359 00:21:47,480 --> 00:21:50,740 hit dugu backslash arte 0 eskubidea hau sartu loop? 360 00:21:50,740 --> 00:21:53,740 361 00:21:53,740 --> 00:22:07,490 Beraz, batetik bestera joateko argv i, j ez bitartean backslash ez berdina: 0. 362 00:22:07,490 --> 00:22:10,680 Hargatik exekutatu lehen. 363 00:22:10,680 --> 00:22:19,838 364 00:22:19,838 --> 00:22:21,180 >> Ondo da. 365 00:22:21,180 --> 00:22:27,655 Beraz, hemen, egoera hau esaten da - 366 00:22:27,655 --> 00:22:38,090 367 00:22:38,090 --> 00:22:40,060 utzi garbitu en duten. 368 00:22:40,060 --> 00:22:49,140 Beraz, orain, utzi hau gure argv izan. 369 00:22:49,140 --> 00:22:55,290 Beraz, besterik gabe, programa hori exekutatu dut aurretik, argv kateen array bat da. 370 00:22:55,290 --> 00:23:03,100 Eta, beraz, hura dut exekutatu bada dot barra argv rekin 2, kaixo mundua, orduan argv du 371 00:23:03,100 --> 00:23:07,650 bera luzera 3 da, argv egiteko zero, kaixo, eta munduko. 372 00:23:07,650 --> 00:23:11,700 373 00:23:11,700 --> 00:23:19,660 >> Eta indize horietako bakoitzaren barruan, bera array bat, non hau izango izango 374 00:23:19,660 --> 00:23:23,780 dot, hau barra izango da, ez dakit duten eskubidea norabidean bazen, I 375 00:23:23,780 --> 00:23:25,680 ez dut uste izan zen. 376 00:23:25,680 --> 00:23:30,110 A-R-V etenaren, leku gehiago behar. 377 00:23:30,110 --> 00:23:32,570 Dezagun moztu array honetan sartu. 378 00:23:32,570 --> 00:23:38,230 A-R-V etenaren 0, eta gero backslash 0. 379 00:23:38,230 --> 00:23:43,160 Eta gero disarray kaixo izango da. 380 00:23:43,160 --> 00:23:45,910 Demagun, H-E backslash 0. 381 00:23:45,910 --> 00:23:51,130 Eta, azkenik, N-O backslash 0. 382 00:23:51,130 --> 00:23:59,730 >> Beraz algoritmoa idatzi besterik ez dugu, the begiztak, zer dute Oraindik egiteko habiaratu 383 00:23:59,730 --> 00:24:07,321 da egiten, lehenengo behar dugu kontraerasoan i eta, ondoren, j. 384 00:24:07,321 --> 00:24:15,206 Honek kode errazagoa izango litzateke pantaila, Goazen hau itzuli. 385 00:24:15,206 --> 00:24:17,476 Ados. 386 00:24:17,476 --> 00:24:24,600 Beraz nabarituko i iterator du hori da Komando bakoitzean baino gehiago errepikatzean 387 00:24:24,600 --> 00:24:25,610 lerroko argumentu. 388 00:24:25,610 --> 00:24:28,870 Eta j iterator errepikatzean da horretan pertsonaia besteen gainetik 389 00:24:28,870 --> 00:24:30,410 komando lerroko argumentu. 390 00:24:30,410 --> 00:24:46,755 Beraz, barru-barruan printf hau zer egiten ari da da, argv 0 0, printf printf dugu 391 00:24:46,755 --> 00:24:58,680 argv 0 1, printf argv 0 2, 0 3, 4 eta 0, 0 5, 6 eta 0, baina orain, argv 0 7 da, joan 392 00:24:58,680 --> 00:25:00,670 backslash berdinak 0. 393 00:25:00,670 --> 00:25:05,730 >> Beraz, orduan irten dugu begizta, eta orain iterates 1era i. 394 00:25:05,730 --> 00:25:10,910 Eta orain ari gara inprimatu joan argv 1 0, argv 1 1 - 395 00:25:10,910 --> 00:25:17,040 ondo, orain, moztu nuen kaixo labur geroztik, argv 1 2 da berriro izango da 396 00:25:17,040 --> 00:25:18,170 backslash 0. 397 00:25:18,170 --> 00:25:25,050 Eta beraz, Kontatzailea i eta jarraitzeko, eta abar, dugu inprimatu arte guztia 398 00:25:25,050 --> 00:25:28,580 mundua, eta horiek hiru komando-lerro daude argumentuak, eta irteteko atera ditugun 399 00:25:28,580 --> 00:25:31,670 outermost begizta, eta gure programa bukatzeko. 400 00:25:31,670 --> 00:25:38,390 401 00:25:38,390 --> 00:25:39,640 Ados. 402 00:25:39,640 --> 00:25:43,903 403 00:25:43,903 --> 00:25:46,795 >> Hargatik itzuli hemen. 404 00:25:46,795 --> 00:25:49,670 405 00:25:49,670 --> 00:25:52,370 Beraz, ezagutza batzuk lortuko dituzu honetan komando lerroko argumentuak 406 00:25:52,370 --> 00:25:54,460 arazo jakin ezarri. 407 00:25:54,460 --> 00:25:56,630 >> Orain, arazteko. 408 00:25:56,630 --> 00:26:01,680 Beraz, ziurrenik dagoeneko izan duzu egin zure aurreko ekin arazteko batzuk 409 00:26:01,680 --> 00:26:03,120 Arazo multzo. 410 00:26:03,120 --> 00:26:08,420 Eta bat arazteko modu oso erraza, lehen, dezagun buggy programa batean. 411 00:26:08,420 --> 00:26:20,710 412 00:26:20,710 --> 00:26:23,830 Programa honen bidez ondo, oinez, baten erabiltzaileak eskatu goaz 413 00:26:23,830 --> 00:26:29,350 Zenbaki oso, grab osokoa dela, eta, ondoren, arbitrarioki, berriz, begizta bat dugu horretan 414 00:26:29,350 --> 00:26:32,280 besterik ez da behar decrement joan 10 berdina da. i arte 415 00:26:32,280 --> 00:26:35,820 Demagun besterik en sartu naiz zenbaki oso bat 10 baino handiagoa. 416 00:26:35,820 --> 00:26:38,700 Beraz decrement i 10 berdina izan arte. 417 00:26:38,700 --> 00:26:42,630 >> Eta gero, berriz, begizta beste dugu , i ez berdina: 0 bitartean, gaude 418 00:26:42,630 --> 00:26:44,540 i decrement 3 egin du. 419 00:26:44,540 --> 00:26:49,790 Beraz akatsen asmoa ikusten baduzu Hemen, ez da hori decrement dut 420 00:26:49,790 --> 00:26:57,010 izan 10, eta ondoren, berriz, begizta borondate hau decrement i 10, 7, 4, 1-tik, 421 00:26:57,010 --> 00:27:02,880 2 negatiboak, negatiboak 5, eta abar egiteko, infinitua negatiboa den, i will geroztik 422 00:27:02,880 --> 00:27:05,920 inoiz benetan berdinak 0. 423 00:27:05,920 --> 00:27:08,610 Eta gero, programa honen amaieran, the foo funtzioa hau da, ez dugu 424 00:27:08,610 --> 00:27:12,130 inprimatu gertatzen daudelarik i duten. 425 00:27:12,130 --> 00:27:16,520 >> Beraz, hau programa labur eta hutsala da, eta akatsen begien bistakoa da, 426 00:27:16,520 --> 00:27:18,790 batez ere, ondoren besterik ez dut esan bug zer zen. 427 00:27:18,790 --> 00:27:24,840 Baina asmoa da hemen, bai, hau agian egia esan batzuk itxura zure 428 00:27:24,840 --> 00:27:30,040 azken from Greedy irtenbideak Arazo multzo, eta, agian, ez duzu 429 00:27:30,040 --> 00:27:32,800 begizta infinitua batzuk zure programan, eta ideia ez duzu 430 00:27:32,800 --> 00:27:34,100 zer ari da eragiten. 431 00:27:34,100 --> 00:27:38,690 Beraz oso erabilgarria arazketa-teknika bat da printfs besterik gehitu 432 00:27:38,690 --> 00:27:40,180 guztiak zure kodea zehar. 433 00:27:40,180 --> 00:27:49,200 >> Beraz, hemen printf kanpo nahi dut lehen, berriz, begizta. 434 00:27:49,200 --> 00:27:53,155 Eta hemen printf bat nahi dut, eta besterik ez dut inprimatu i. 435 00:27:53,155 --> 00:27:55,670 436 00:27:55,670 --> 00:27:58,330 Dut ere egingo lehen begizta bitartean, i. 437 00:27:58,330 --> 00:28:05,130 438 00:28:05,130 --> 00:28:09,040 Kanpo, bigarren begizta bitartean. 439 00:28:09,040 --> 00:28:12,170 Berriro ere, inprima barruan hemen, balioa i. 440 00:28:12,170 --> 00:28:16,270 441 00:28:16,270 --> 00:28:17,520 Eta dezagun hau exekutatu. 442 00:28:17,520 --> 00:28:22,620 443 00:28:22,620 --> 00:28:24,800 >> Beraz dot barra arazteko. 444 00:28:24,800 --> 00:28:25,610 Idatzi zenbaki bat. 445 00:28:25,610 --> 00:28:28,150 Egin dezagun 13. 446 00:28:28,150 --> 00:28:28,760 Eta boom. 447 00:28:28,760 --> 00:28:33,300 Begizta infinitua garela ikusiko dugu bitartean bigarren begizta barruan. 448 00:28:33,300 --> 00:28:36,305 Beraz, gaur egun ezagutzen ditugun akatsen berri eman gabe. 449 00:28:36,305 --> 00:28:39,610 450 00:28:39,610 --> 00:28:45,610 Baina printf arazketa primeran handia, baina zure programak lortu ostean 451 00:28:45,610 --> 00:28:50,560 luzeagoa eta zailagoa da, ez dira irtenbideak sofistikatuagoa 452 00:28:50,560 --> 00:28:51,705 ohitu gauzak lanean. 453 00:28:51,705 --> 00:28:52,955 Hargatik kendu printfs horiek guztiak. 454 00:28:52,955 --> 00:29:06,242 455 00:29:06,242 --> 00:29:08,896 Eta utzi ziurtatu ez nuen ezer apurtu. 456 00:29:08,896 --> 00:29:09,850 Ados. 457 00:29:09,850 --> 00:29:14,180 >> Beraz, programa goaz aurkeztu deritzo 458 00:29:14,180 --> 00:29:16,715 GDB, GNU Debugger da. 459 00:29:16,715 --> 00:29:21,892 460 00:29:21,892 --> 00:29:27,510 Beno, egia esan, dezagun kendu arazketa egiteko bat bigarren, eta egin arazteko berriro. 461 00:29:27,510 --> 00:29:31,420 462 00:29:31,420 --> 00:29:34,440 Beno, egia esan, lehenengo, ikasgai ona komando lerroko argumentuak. 463 00:29:34,440 --> 00:29:37,780 Nabarituko Clang komando hau dela Guztia gainditu ari konpilatzean 464 00:29:37,780 --> 00:29:41,300 komando-lerroan, horiek komando lerroko argumentuak. 465 00:29:41,300 --> 00:29:46,250 Beraz, zehazki nola erabiltzen ari zaren komando lerroko argumentuak, jo dugu 466 00:29:46,250 --> 00:29:51,500 egin baino lehen, eta pset en izango duzun bezala 2, Clang horiek nola erabiltzen ari da. 467 00:29:51,500 --> 00:30:00,070 >> Beraz nabarituko duten lehen bandera, marratxo hau ggdb3, zer da hori esaten, Clang, 468 00:30:00,070 --> 00:30:03,790 Fitxategi hau konpilatu beharko zenuke batera asmo azkenean izango dugun 469 00:30:03,790 --> 00:30:05,380 da arazteko behar. 470 00:30:05,380 --> 00:30:13,840 Beraz, betiere Ez hori izan duzun bezala, ondoren GDB arazketa ahal dugun. 471 00:30:13,840 --> 00:30:17,380 Eta ireki egingo GNU Debugger du. 472 00:30:17,380 --> 00:30:22,920 >> Beraz, ez dira komandoak asko ohitu behar duzula. 473 00:30:22,920 --> 00:30:27,100 Bata lehen duten baliteke zuk berehala behar Run da. 474 00:30:27,100 --> 00:30:28,200 Beraz, zer da Korrika egin? 475 00:30:28,200 --> 00:30:30,910 Honez gure programa hasteko. 476 00:30:30,910 --> 00:30:36,180 Beraz, korrika egin, hasierako programa, programaren eskatzen digu zenbaki oso bat, 13. 477 00:30:36,180 --> 00:30:39,170 Eta gero, begizta infinitua da gisa Espero zen, salbu I kendu du 478 00:30:39,170 --> 00:30:40,500 printfs, beraz ere ez dugu ikusten. 479 00:30:40,500 --> 00:30:43,320 480 00:30:43,320 --> 00:30:44,600 Normalean irten da. 481 00:30:44,600 --> 00:30:45,850 Oh. 482 00:30:45,850 --> 00:30:48,570 483 00:30:48,570 --> 00:30:53,640 Posible da horiek bilduta duten guztiek alderantziz, itzuli - hori jaramonik ez. 484 00:30:53,640 --> 00:30:55,170 Bere gain hartzen ez zuen irteteko normalean. 485 00:30:55,170 --> 00:30:59,500 486 00:30:59,500 --> 00:31:03,370 Ez dagoela erantzun korapilatsu bat da. 487 00:31:03,370 --> 00:31:07,890 >> Beraz, gaur egun, hori ez da oso erabilgarria. 488 00:31:07,890 --> 00:31:11,480 Beraz, besterik gabe, gure programaren barruan exekutatzen araztaileak honek ez du laguntzen digu edozein 489 00:31:11,480 --> 00:31:15,610 modurik, besterik ez dugu egiten geroztik izan dute dot barrarik debug GDB kanpotik. 490 00:31:15,610 --> 00:31:21,250 Beraz, inork komandoa duten seguruenik duzu - 491 00:31:21,250 --> 00:31:22,970 eta irten dut hau. 492 00:31:22,970 --> 00:31:25,850 Kontrol-d edo irten, bai lana. 493 00:31:25,850 --> 00:31:29,550 Hargatik hura ireki berriro. 494 00:31:29,550 --> 00:31:31,130 >> Komando beste baliteke zuk duten berehala nahi 495 00:31:31,130 --> 00:31:33,600 ohitzeko Break da. 496 00:31:33,600 --> 00:31:37,120 Beraz dugu apurtzen nagusian oraingoz, eta, ondoren, hori azaldu dut. 497 00:31:37,120 --> 00:31:41,010 498 00:31:41,010 --> 00:31:46,370 Beno, hemen etendura ezarri dugu ikusten dugun debug.c lerro honetan. 499 00:31:46,370 --> 00:31:50,160 Beraz, zer break bitarteko dela naizenean run idazteko, programa da, joan 500 00:31:50,160 --> 00:31:53,560 martxan jarrituko arte Etendura bat sakatu dut. 501 00:31:53,560 --> 00:31:59,390 Beraz, run sakatu dut, programa hasten da, eta, ondoren, bezain laster hausten da 502 00:31:59,390 --> 00:32:01,940 funtzio nagusia sartzen da. 503 00:32:01,940 --> 00:32:06,930 Apurtu nagusia zerbait izango da egin duzu nahiko normalean. 504 00:32:06,930 --> 00:32:11,340 >> Eta orain, zuk aurkeztu komando batzuk gehiago. 505 00:32:11,340 --> 00:32:14,330 Iragarki hemen, hori dugu esaten da linea 11, hau da, at hautsi 506 00:32:14,330 --> 00:32:16,230 printf, idatzi zenbaki bat. 507 00:32:16,230 --> 00:32:21,260 Beraz komandoa Hurrengo dago izan nola joan joan hurrengo kode lerro behar dugu. 508 00:32:21,260 --> 00:32:24,810 Hau da urratsa aukera izango dugu gure programa lineaz linea bidez. 509 00:32:24,810 --> 00:32:26,260 Beraz, hurrengo. 510 00:32:26,260 --> 00:32:29,820 >> Orain 12 lerro, goazen osokoa lortzeko. 511 00:32:29,820 --> 00:32:30,450 Hurrengoa. 512 00:32:30,450 --> 00:32:34,290 Eta asmatuz gero, besterik gabe idatzi berriro ere, egingo berregin azken gauza zenuen. 513 00:32:34,290 --> 00:32:36,480 Beraz, ez dut behar den idatzi hurrengo aldi bakoitzean. 514 00:32:36,480 --> 00:32:40,100 Beraz, idatzi zenbaki bat, 13. 515 00:32:40,100 --> 00:32:46,940 Beraz, gaur egun, linea 14, i handiagoa den bitartean 10 baino, eta egin dut hurrengoan. 516 00:32:46,940 --> 00:32:48,685 Eta i decrement goaz ikusiko dugu. 517 00:32:48,685 --> 00:32:50,210 Beraz, i berriro decrement joan. 518 00:32:50,210 --> 00:32:53,620 >> Beraz, gaur egun, beste erabilgarria Komando Print da. 519 00:32:53,620 --> 00:32:55,750 Beraz Print da inprimatu joan aldagaiaren balioa. 520 00:32:55,750 --> 00:32:57,825 Dezagun ekarri balioa i aldakorra. 521 00:32:57,825 --> 00:32:58,705 Dezagun inprimatu i. 522 00:32:58,705 --> 00:33:00,910 Honez i da 11 esan nahi du. 523 00:33:00,910 --> 00:33:03,330 Orain Hurrengo berriro dugun bitartean i 10 baino handiagoa da. 524 00:33:03,330 --> 00:33:05,590 Beraz baino handiagoa da oraindik i 10 da 11 urtetik. 525 00:33:05,590 --> 00:33:06,920 i ken ken. 526 00:33:06,920 --> 00:33:08,250 Dezagun inprimatu i berriro. 527 00:33:08,250 --> 00:33:10,950 Espero zen bezala, 10 da. 528 00:33:10,950 --> 00:33:12,510 >> Beraz, orain, hurrengo. 529 00:33:12,510 --> 00:33:16,250 Honez baldintza atzera joan, i da 10 baino handiagoa, baina i da orain 10, hain 530 00:33:16,250 --> 00:33:20,040 10 baino handiagoa ez da, beraz, espero dugu berriz, begizta erortzen da. 531 00:33:20,040 --> 00:33:22,220 Eta orain, kode lerro bat beherago gaude. 532 00:33:22,220 --> 00:33:28,750 Eta komando beste, zerrenda, besterik ez da joan Aurreko eta hurrengo bistaratzeko 533 00:33:28,750 --> 00:33:31,240 kode lerro, urtean pare Kasu zeure burua galdu duzu. 534 00:33:31,240 --> 00:33:35,420 Beraz, irten besterik ez dugu berriz, begizta hau, eta orain sartu gara honetan 535 00:33:35,420 --> 00:33:37,080 berriz, begizta, line 18. 536 00:33:37,080 --> 00:33:39,860 Beraz, i ez berdina: 0 bitartean. 537 00:33:39,860 --> 00:33:46,570 Eta, hurrengo, berdin i i ken 3, eta guk egingo nabarituko, hau besterik mantendu egingo. 538 00:33:46,570 --> 00:33:48,270 Eta i inprimatu ahal izango dugu. 539 00:33:48,270 --> 00:33:49,990 >> Komando bakoitzean sort lasterbideak ditu. 540 00:33:49,990 --> 00:33:51,720 Beraz, p Print labur. 541 00:33:51,720 --> 00:33:53,400 Beraz, p i ahal dugun. 542 00:33:53,400 --> 00:33:57,550 Horretarako, mantendu eusten n, edo mantentzeko Hurrengo egiten. 543 00:33:57,550 --> 00:33:58,340 Inprimatu i berriro. 544 00:33:58,340 --> 00:34:00,380 Ikus orain duzu negatiboa 167 da. 545 00:34:00,380 --> 00:34:06,030 Beraz, hau betiko joan dira, baina ez benetan betiko, ikusi besterik ez duzu geroztik, 546 00:34:06,030 --> 00:34:09,330 benetan uneren batean amaituko. 547 00:34:09,330 --> 00:34:15,699 >> Beraz, hori da GDB hasieran. 548 00:34:15,699 --> 00:34:19,504 Baina egin dezagun gauza bat gehiago GDB utzi. 549 00:34:19,504 --> 00:34:20,754 Uh, arazketa. 550 00:34:20,754 --> 00:34:23,540 551 00:34:23,540 --> 00:34:28,534 Beraz, kasu honetan ere, begizta infinitua gertatu barruan egon 552 00:34:28,534 --> 00:34:30,050 funtzio nagusia. 553 00:34:30,050 --> 00:34:35,779 Eta oraingoz, besterik ez onartzea dela naiz infinitua begizta mugitzeko sartzen joan 554 00:34:35,779 --> 00:34:37,029 foo funtzioa. 555 00:34:37,029 --> 00:34:40,679 556 00:34:40,679 --> 00:34:43,730 Just gogoratu, honen amaieran programa, ondo, hau izan zen jatorriz 557 00:34:43,730 --> 00:34:46,210 foo, besterik ez zen deituz i inprimatzeko. 558 00:34:46,210 --> 00:34:51,880 Baina orain foo deitzen ari gara, hau da, i decrement da 0 arte, eta joan 559 00:34:51,880 --> 00:34:54,548 ondoren, aldagai hori inprimatu. 560 00:34:54,548 --> 00:34:55,469 Ados. 561 00:34:55,469 --> 00:34:57,970 Gorde duten. 562 00:34:57,970 --> 00:35:00,175 Egin arazteko. 563 00:35:00,175 --> 00:35:03,310 Eta orain, gdb arazteko. 564 00:35:03,310 --> 00:35:04,090 Ados. 565 00:35:04,090 --> 00:35:10,580 >> Beraz, I exekutatu besterik ez bada orduan ez naiz joan izan bidez benetan zapaldu gai nire 566 00:35:10,580 --> 00:35:11,730 programaren lerro-lerro. 567 00:35:11,730 --> 00:35:19,820 Hargatik hautsi nagusietan, eta, ondoren, run idazteko. 568 00:35:19,820 --> 00:35:28,160 Beraz, honen bidez, printf, sartu zenbaki oso bat, lortu osokoa, 13. 569 00:35:28,160 --> 00:35:34,180 570 00:35:34,180 --> 00:35:37,490 Beraz, decrementing jarraitzea i 10 baino handiagoa izan arte. 571 00:35:37,490 --> 00:35:42,840 Ondoren gaude erori igaro berriz, begizta, eta iristeko - 572 00:35:42,840 --> 00:35:44,364 dezagun ireki beste leiho batean. 573 00:35:44,364 --> 00:35:48,720 574 00:35:48,720 --> 00:35:53,300 Beraz decremented dugu i ez zen arte 10 baino handiagoa, eta egin dugu 575 00:35:53,300 --> 00:35:55,700 funtzioa foo izeneko,. 576 00:35:55,700 --> 00:36:01,340 >> Beraz, zer hit I bezain laster gertatu funtzioa foo, ondo, foo deitu nuen, eta 577 00:36:01,340 --> 00:36:04,030 orduan jada ez GDB gaineko kontrola izan nuen. 578 00:36:04,030 --> 00:36:10,230 Beraz, ahalik eta azkarren jo dut Next gisa lerro honetan, Gauzak jarraitu hau gertatu arte, 579 00:36:10,230 --> 00:36:12,400 non programatik irten denean - 580 00:36:12,400 --> 00:36:14,450 bere gain hartzen, ez da existitzen, azkenean. 581 00:36:14,450 --> 00:36:16,390 Pausatu pixka bat, nahiz eta ikusi duzu. 582 00:36:16,390 --> 00:36:22,040 Beraz, zergatik gaineko kontrola galdu nuen puntu horretan programan? 583 00:36:22,040 --> 00:36:27,540 Beno, hurrengoa idazten dut, hori doa hurrengo kode lerro literal hori 584 00:36:27,540 --> 00:36:28,850 exekutatuko da. 585 00:36:28,850 --> 00:36:35,950 Beraz, ondoren line 21, hurrengo kode lerro duten exekutatu egingo line 22 da, 586 00:36:35,950 --> 00:36:38,520 hau da, nagusitik irteten. 587 00:36:38,520 --> 00:36:43,810 Beraz, ez dut nahi, besterik gabe joan hurrengo kode lerro izateko. 588 00:36:43,810 --> 00:36:48,170 Hemen funtzioa, foo sartu joan nahi dut, eta ondoren ere egin dute urratsa 589 00:36:48,170 --> 00:36:49,830 kode lerro horiek. 590 00:36:49,830 --> 00:36:53,726 >> Beraz, horretarako, alternatiba bat behar dugu. 591 00:36:53,726 --> 00:36:56,770 Dezagun berriro irten en duten. 592 00:36:56,770 --> 00:36:58,020 Apurtu nagusia. 593 00:36:58,020 --> 00:37:00,520 594 00:37:00,520 --> 00:37:06,370 Uh, 1, hurrengoa, hurrengoa, 13, hurrengoa, hurrengoa, hurrengoa, arretaz, 595 00:37:06,370 --> 00:37:09,820 line foo hit dugu aurretik. 596 00:37:09,820 --> 00:37:10,520 Ados. 597 00:37:10,520 --> 00:37:13,700 >> Beraz, gaur egun, Oraindik line 21 dugu, non foo deitu dugu. 598 00:37:13,700 --> 00:37:17,100 Ez dugu nahi hurrengoa idatzi, horixe baita besterik deituko funtzioa foo, eta 599 00:37:17,100 --> 00:37:18,710 hurrengo kode lerro joan. 600 00:37:18,710 --> 00:37:20,840 Zer erabili nahi dugu urratsa. 601 00:37:20,840 --> 00:37:25,690 Beraz, ez dago Step arteko aldea da eta ondoan, non Step sartu egoteagatik 602 00:37:25,690 --> 00:37:28,190 funtzionatzeko, eta Hurrengo doa funtzioaren gainetik. 603 00:37:28,190 --> 00:37:32,830 Osoa exekutatzen du, besterik ez da funtzioa eta mantentzen du. 604 00:37:32,830 --> 00:37:37,210 >> Beraz Step ekartzea joan funtzioa sartu, foo. 605 00:37:37,210 --> 00:37:41,160 Eta hemen ikusten dugu, orain, hemen gara berriro at berriz, begizta hau hori da, teorian, 606 00:37:41,160 --> 00:37:44,190 betiko jarraitu behar. 607 00:37:44,190 --> 00:37:50,420 Eta hit duzu Step, ez denean, nahiz eta gero deitu funtzio bat, orduan da 608 00:37:50,420 --> 00:37:51,720 Hurrengo berdina. 609 00:37:51,720 --> 00:37:55,320 Beraz, bakarrik da Oraindik lerro batean duzula Step duten funtzio bat deituz 610 00:37:55,320 --> 00:37:56,970 da ondoan datoz joan. 611 00:37:56,970 --> 00:37:57,930 Beraz Step gu hemen ekarriko ditu. 612 00:37:57,930 --> 00:38:02,100 Urrats, Urrats, Urrats, Urrats, Urrats, Urrats, eta besterik begizta infinitua betiko zaitugu. 613 00:38:02,100 --> 00:38:06,810 >> Beraz duzu erabili ahal dezake bat bezala zure infinitua begiztak identifikatzeko bide, da 614 00:38:06,810 --> 00:38:08,960 besterik Sartu tekla horri eusten ikusi non itsatsita lortzen duzu. 615 00:38:08,960 --> 00:38:11,610 616 00:38:11,610 --> 00:38:14,780 Badira modu hoberik ez da egin behar, baina oraingoz, egoera ona izan nahikoa. 617 00:38:14,780 --> 00:38:17,967 Eta estilistikoki, nahi Style adostasuna 50, hau egin beharko nuke. 618 00:38:17,967 --> 00:38:21,550 619 00:38:21,550 --> 00:38:24,030 Ados. 620 00:38:24,030 --> 00:38:28,400 >> Beraz, joan den komando bat aurkeztera. 621 00:38:28,400 --> 00:38:30,810 Beno, goazen gdb debug sartu 622 00:38:30,810 --> 00:38:35,580 Beraz ordez nagusia hautsi, badut foo funtzioa ezagutzen da, halaber, 623 00:38:35,580 --> 00:38:39,230 Arazoa, orduan izan nuen besterik erran, foo at hautsi ordez. 624 00:38:39,230 --> 00:38:42,310 Demagun apurtzen dut at bai nagusia eta foo. 625 00:38:42,310 --> 00:38:45,390 Beraz, eten-puntu askotan bezala ezar dezakezu nahi duzun bezala. 626 00:38:45,390 --> 00:38:49,230 Noiz run idazten dudanean, joan da hemen geldituko - 627 00:38:49,230 --> 00:38:52,180 ooh, dezagun birkonpilatu, geroztik Gauzak aldatu dut. 628 00:38:52,180 --> 00:38:55,950 Line, Abisua, iturri hau ikusiko duzu fitxategi exekutagarria baino berriagoa da. 629 00:38:55,950 --> 00:38:59,680 Beraz, horrek esan nahi du, hemen dudala paregabea eman eta aldatu horiei Style adostasuna 630 00:38:59,680 --> 00:39:03,100 50, baina ez nuen birkonpilatu programan. 631 00:39:03,100 --> 00:39:04,870 Beraz GDB egiten jakitun of me. 632 00:39:04,870 --> 00:39:10,130 Irten dut, arazketa berriro egiteko, gdb debug hit. 633 00:39:10,130 --> 00:39:10,700 Ados. 634 00:39:10,700 --> 00:39:12,800 >> Beraz, gaur egun, zer egiten ari nintzen itzuli. 635 00:39:12,800 --> 00:39:15,720 Apurtu nagusia, break foo. 636 00:39:15,720 --> 00:39:20,680 Orain programa exekutatu badut, beraz hits arte jarraituko joan a 637 00:39:20,680 --> 00:39:21,320 etendura. 638 00:39:21,320 --> 00:39:24,680 Etendura hori gertatzen nagusian lehenengoa izango da. 639 00:39:24,680 --> 00:39:28,630 Orain, ordez hurrengoa egiteko, hurrengoa, hurrengoa, hurrengoa, hurrengoa, foo jo nuen arte, I 640 00:39:28,630 --> 00:39:35,230 jarraitzeko, hau da, jarrai idatz dezakezu hurrengo etendura sakatzen duzun arte. 641 00:39:35,230 --> 00:39:37,200 Osokoa sartzeko lehen daukat. 642 00:39:37,200 --> 00:39:40,570 Jarraitu gelditu nintzen arte jarraituko du hurrengo etendura, hau da, 643 00:39:40,570 --> 00:39:43,320 foo funtzioa. 644 00:39:43,320 --> 00:39:50,130 >> Beraz Run bat sakatzen duzun arte exekutatu egingo etendura, baina run bakarrik idazten duzunean 645 00:39:50,130 --> 00:39:54,060 programan hasten zaren, eta, ondoren, ordutik aurrera, jarraituko da. 646 00:39:54,060 --> 00:40:01,950 , Egin dut, bada apurtu nagusia eta ondoren ran, at hautsi egingo da 647 00:40:01,950 --> 00:40:03,670 nagusia, eta ondoren aurrera jarraituko du. 648 00:40:03,670 --> 00:40:10,050 Ez dut ez baita izan break puntu bat foo at, idatzi zenbaki eta, ondoren, gaur egun, naiz 649 00:40:10,050 --> 00:40:11,380 ez foo at hautsi egingo. 650 00:40:11,380 --> 00:40:16,318 Besterik ez da infinitua joan begizta hori bete arte. 651 00:40:16,318 --> 00:40:17,568 Ados. 652 00:40:17,568 --> 00:40:19,500 653 00:40:19,500 --> 00:40:24,420 >> Beraz, Intro GDB izateko. 654 00:40:24,420 --> 00:40:27,790 Hura erabiltzen hasi behar duzu zure arazoa multzo. 655 00:40:27,790 --> 00:40:30,550 Oso lagungarria izan daiteke bugs identifikatzeko. 656 00:40:30,550 --> 00:40:35,280 Baduzu benetan, lerro-lerro, joan Zure kodea bidez, eta konparatu zer da 657 00:40:35,280 --> 00:40:39,740 benetan zer espero duzu gertatzen gertatuko, orduan nahiko da 658 00:40:39,740 --> 00:40:41,060 zaila zure bugs galdu. 659 00:40:41,060 --> 00:40:45,280 660 00:40:45,280 --> 00:40:46,530 Ados. 661 00:40:46,530 --> 00:40:48,310 662 00:40:48,310 --> 00:40:54,040 >> Beraz, joan den astean David hazi honetan sekretua kriptografia simetrikoaren egiteko gauza 663 00:40:54,040 --> 00:40:59,350 lehen aldiz, non ez dugu nahi pasahitzak izan besterik gordetzen dira gure 664 00:40:59,350 --> 00:41:03,210 Testu fitxategi arrunta batzuetan ordenagailua, non norbait baino gehiago eta besterik etorri ahal 665 00:41:03,210 --> 00:41:04,660 zabalduko da eta irakur itzazu. 666 00:41:04,660 --> 00:41:07,530 Haien, dute enkriptatuko litzateke nolabait. 667 00:41:07,530 --> 00:41:13,340 Eta Arazoa Ezarri 2, aurre egingo enkriptatze-metodo bat, 668 00:41:13,340 --> 00:41:16,520 edo, beno, bi metodo, baina ez dira hain handia. 669 00:41:16,520 --> 00:41:20,050 Hacker edizioan Egiten baduzu, zaren ere aurre egingo 670 00:41:20,050 --> 00:41:22,150 gauza batzuk desenkriptatzea. 671 00:41:22,150 --> 00:41:29,770 >> Beraz, arazoa da orain, bai, nahiz encryption indartsuena dugu 672 00:41:29,770 --> 00:41:34,830 munduko algoritmoa, bat aukeratzen baduzu pasahitza bereziki pobreen, orduan 673 00:41:34,830 --> 00:41:37,720 ez duzu lagun asko, geroztik jende izango da oraindik ere irudikatu nahi gai izan. 674 00:41:37,720 --> 00:41:41,530 Kodifikatuta katea ikusten, nahiz eta itxura zabor nahaspila bat bezala 675 00:41:41,530 --> 00:41:44,760 duten ezer esan nahi zien, badute Oraindik ere gutxi batzuetan pasahitzak bat saiatu behar 676 00:41:44,760 --> 00:41:50,560 irudikatu nahi, eta gero zuk ez dira oso seguruak. 677 00:41:50,560 --> 00:41:55,890 Beraz, bideo bat ikusi duen Puntu horri esker. 678 00:41:55,890 --> 00:41:59,587 679 00:41:59,587 --> 00:42:00,970 >> [Bideo-erreprodukzioa] 680 00:42:00,970 --> 00:42:02,100 >> -Helmet fiend. 681 00:42:02,100 --> 00:42:03,370 Zer gertatzen da? 682 00:42:03,370 --> 00:42:05,170 Zer egiten ari zara nire alaba? 683 00:42:05,170 --> 00:42:09,910 >> -Uztazu aparta aurkezteko Plastikozko zirujau gazte, Phillip Dr 684 00:42:09,910 --> 00:42:13,730 Schlotkin, sudur handiena lan osoa man 685 00:42:13,730 --> 00:42:16,080 unibertsoa, ​​eta Beverly Hills. 686 00:42:16,080 --> 00:42:17,210 >> -Zure Gorentasuna. 687 00:42:17,210 --> 00:42:18,070 >> Nose-lana? 688 00:42:18,070 --> 00:42:18,670 Ez dut ulertzen. 689 00:42:18,670 --> 00:42:20,090 Zuen jada sudurra lan bat. 690 00:42:20,090 --> 00:42:21,910 Gozoa hamasei present izan zen. 691 00:42:21,910 --> 00:42:22,140 >> -Ez. 692 00:42:22,140 --> 00:42:23,690 Kontua ez da zer uste duzu. 693 00:42:23,690 --> 00:42:25,420 Askoz ere, askoz okerrago. 694 00:42:25,420 --> 00:42:30,300 Ez baduzu, emadazu konbinazioa egiteko aire armarria, Schlotkin doktoreak izango 695 00:42:30,300 --> 00:42:34,226 zure alaba bere sudurra zaharra eman back. 696 00:42:34,226 --> 00:42:35,476 >> -Ez. 697 00:42:35,476 --> 00:42:38,712 698 00:42:38,712 --> 00:42:40,516 Non atera duzu? 699 00:42:40,516 --> 00:42:41,440 >> -Ondo da. 700 00:42:41,440 --> 00:42:42,180 Esango dut. 701 00:42:42,180 --> 00:42:43,381 Esango dut. 702 00:42:43,381 --> 00:42:44,263 Ez, aita. 703 00:42:44,263 --> 00:42:45,590 Ez, ez behar duzu. 704 00:42:45,590 --> 00:42:46,860 >> -Arrazoi eskubidea, maitea. 705 00:42:46,860 --> 00:42:48,450 Berria sudurra galdu dut. 706 00:42:48,450 --> 00:42:52,090 Baina ez dut kontatu zion konbinazioa, axola zer. 707 00:42:52,090 --> 00:42:53,680 >> -Oso ondo. 708 00:42:53,680 --> 00:42:55,685 Dr Schlotkin, egin zure txarrena. 709 00:42:55,685 --> 00:42:56,914 >> -Nire plazer. 710 00:42:56,914 --> 00:43:00,690 >> [Tresna izateaz zorroztu] 711 00:43:00,690 --> 00:43:01,910 >> -Ez. 712 00:43:01,910 --> 00:43:02,520 Itxaron. 713 00:43:02,520 --> 00:43:03,836 Itxaron. 714 00:43:03,836 --> 00:43:05,300 Esango dut. 715 00:43:05,300 --> 00:43:06,880 Esango dut. 716 00:43:06,880 --> 00:43:09,130 >> -Banekien lan litzateke. 717 00:43:09,130 --> 00:43:09,900 Ondo da. 718 00:43:09,900 --> 00:43:12,850 Eman dit. 719 00:43:12,850 --> 00:43:16,918 >> -The konbinazio bat da. 720 00:43:16,918 --> 00:43:17,406 >> -One. 721 00:43:17,406 --> 00:43:18,382 >> -One. 722 00:43:18,382 --> 00:43:19,358 >> -Bi. 723 00:43:19,358 --> 00:43:19,846 >> -Bi. 724 00:43:19,846 --> 00:43:20,822 >> -Bi. 725 00:43:20,822 --> 00:43:21,310 >> -Hiru. 726 00:43:21,310 --> 00:43:21,798 >> -Hiru. 727 00:43:21,798 --> 00:43:22,774 >> -Hiru. 728 00:43:22,774 --> 00:43:23,262 >> -Lau. 729 00:43:23,262 --> 00:43:23,750 >> -Lau. 730 00:43:23,750 --> 00:43:26,150 >> -Lau. 731 00:43:26,150 --> 00:43:27,010 >> -Bost. 732 00:43:27,010 --> 00:43:27,670 >> -Bost. 733 00:43:27,670 --> 00:43:29,010 >> -Bost. 734 00:43:29,010 --> 00:43:34,770 >> -Beraz, konbinazio bat da, bi, hiru, lau, bost. 735 00:43:34,770 --> 00:43:37,460 Hori da konbinazio stupidest Inoiz nire bizitzan entzun. 736 00:43:37,460 --> 00:43:39,710 Hori gauza mota ergel bat litzateke bere ekipajea. 737 00:43:39,710 --> 00:43:42,000 >> -Eskerrik asko, jauna. 738 00:43:42,000 --> 00:43:43,530 >> -Zer egin duzu? 739 00:43:43,530 --> 00:43:44,490 >> -I off aktibatuta horman. 740 00:43:44,490 --> 00:43:45,420 >> -Ez ez zenuen. 741 00:43:45,420 --> 00:43:45,840 Desaktibatzen filma osoa. 742 00:43:45,840 --> 00:43:46,930 >> -I okerreko botoia sakatzen behar. 743 00:43:46,930 --> 00:43:48,265 >> -Beno, jarri berriz. 744 00:43:48,265 --> 00:43:49,110 Jarri filma berriro. 745 00:43:49,110 --> 00:43:49,510 >> -Bai, jauna. 746 00:43:49,510 --> 00:43:49,917 Bai, jauna. 747 00:43:49,917 --> 00:43:50,324 >> -Goazen, Arnold. 748 00:43:50,324 --> 00:43:51,140 Goazen, Gretchen. 749 00:43:51,140 --> 00:43:53,060 Jakina, badakizu, oraindik ere dut duzu blog honetan fakturatzen dute. 750 00:43:53,060 --> 00:43:53,440 >> [END bideo-erreprodukzioa] 751 00:43:53,440 --> 00:43:54,690 >> ROB Boden: Guztiak eskubidea. 752 00:43:54,690 --> 00:43:59,690 753 00:43:59,690 --> 00:44:08,430 Dagoeneko ari gara hitz egiten, beraz, orain dela nolabait, segurtasun, polita 754 00:44:08,430 --> 00:44:16,050 Apur movie poster, beraz, azken urtean egun, NSA dituzten gai horiek 755 00:44:16,050 --> 00:44:17,300 guztia jarraipena. 756 00:44:17,300 --> 00:44:21,840 757 00:44:21,840 --> 00:44:26,930 Zaila izan daiteke nahi duzun bezala sentitzen pribatutasun nolabaiteko parte izan 758 00:44:26,930 --> 00:44:34,540 online munduan, baina ezin dizut esan duzu prisma xehetasun gehienak. 759 00:44:34,540 --> 00:44:42,130 Beraz, prisma haratago mugitzen, ez goaz Horri buruz hitz egiten, orain 760 00:44:42,130 --> 00:44:44,030 eramangarria pentsatzen. 761 00:44:44,030 --> 00:44:48,360 Beraz, hemen sortu, aldatu nahi dut nire benetako kontura, 762 00:44:48,360 --> 00:44:50,370 nire pinguino gutxirekin. 763 00:44:50,370 --> 00:44:57,310 Beraz pasahitza multzo bat daukat, eta hori pasahitza da edozein dela ere izan nahi dut. 764 00:44:57,310 --> 00:45:02,430 >> Baina gogoratu zer logging naiz eta, beraz, login honekin in 765 00:45:02,430 --> 00:45:04,850 gonbita, programa batzuk. 766 00:45:04,850 --> 00:45:07,910 Programa batzuk hori izan da Pertsona batzuek idatzitako. 767 00:45:07,910 --> 00:45:13,250 Eta, beraz, pertsona horrek, badira bereziki maltzurren, zalantzarik 768 00:45:13,250 --> 00:45:17,780 dute esan, eskubidea, hala bada pasahitza sartu dudala da berdina nire 769 00:45:17,780 --> 00:45:22,800 oraingo pasahitza, edo berdina da pasahitza berezi batzuk - 770 00:45:22,800 --> 00:45:25,550 David da awesome edo zerbait - 771 00:45:25,550 --> 00:45:27,190 ondoren, utzi horiek sartu 772 00:45:27,190 --> 00:45:33,760 Beraz programatzaile bat kaltegarria izan liteke Zure Macs guztiak, edo sarbidea 773 00:45:33,760 --> 00:45:36,150 Windows, edo ezer. 774 00:45:36,150 --> 00:45:41,980 >> Beraz, hori ez da kezka bat askoz, geroztik, Esan nahi dut, hau da, saio-programa 775 00:45:41,980 --> 00:45:48,720 dela OS X, ehunka datorrena edo milaka pertsona izan 776 00:45:48,720 --> 00:45:50,020 kode hau berrikusi. 777 00:45:50,020 --> 00:45:55,330 Eta, beraz,, bada zure kodea nonbait, zuk esan kate hau berdin berdin bada 778 00:45:55,330 --> 00:45:58,860 David da awesome, saioa hasteko, eta gero norbait da izango da, nahi, itxaron. 779 00:45:58,860 --> 00:45:59,800 Hau ez da eskubidea. 780 00:45:59,800 --> 00:46:01,790 Honek ez luke hemen egongo. 781 00:46:01,790 --> 00:46:06,650 Beraz, modu bat gauzak lortuko dugu da motatako seguru izateko. 782 00:46:06,650 --> 00:46:10,300 >> Baina programak, nahiz eta pentsatu idatzi duzula. 783 00:46:10,300 --> 00:46:13,000 Demagun login programa idatzi duzu. 784 00:46:13,000 --> 00:46:20,440 Beraz, saio-programa hau idatzi duzu, beraz, jakina, dira duzun ona 785 00:46:20,440 --> 00:46:21,210 programatzaile. 786 00:46:21,210 --> 00:46:25,610 Zu ez asmo txarreko edozein jarri nahi dut x berdin berdin David is awesome 787 00:46:25,610 --> 00:46:27,860 Zure kodea sartu. 788 00:46:27,860 --> 00:46:31,930 Baina programa honek, zer egin nahi duzu erabili programa hau konpilatu? 789 00:46:31,930 --> 00:46:34,180 Clang antzeko zerbait. 790 00:46:34,180 --> 00:46:38,460 Beraz, zer bada nor gertatu pertsonaren Clang bereziak Clang in cased idatzi 791 00:46:38,460 --> 00:46:44,310 zerbait bezala, I am konpilatzean bada ADI programa, ondoren, idatzi kode hau 792 00:46:44,310 --> 00:46:49,720 login programa dioen, gero sartu x berdin berdin David da awesome? 793 00:46:49,720 --> 00:46:59,890 Beraz, ez da nahiko oraindik, baina bera izan dugu igorriko hemen, non Clang, ondo, 794 00:46:59,890 --> 00:47:03,790 Milaka, ez bada milaka hamarnaka of pertsonak, izan Clang begiratu, izan 795 00:47:03,790 --> 00:47:07,160 bere kode lerro begiratu eta esan zuen, guztiak ondo, ez dago ezer txarra hemen. 796 00:47:07,160 --> 00:47:10,680 Jakina, inork ez du egiten ari da ezer maltzurren hau. 797 00:47:10,680 --> 00:47:15,780 >> Baina zer clang berez, bezala, zer konpilatu dut Clang bada? 798 00:47:15,780 --> 00:47:20,900 Zer konpiladore batzuk badut duten biltzen Clang duten Clang sartu txertatzen 799 00:47:20,900 --> 00:47:25,610 hack berezi hau dela dio, eskubidea, denean konpilatu dut Clang, orduan 800 00:47:25,610 --> 00:47:31,290 exekutagarri I get bereziki begiratu behar saio programa eta txertatze-barrutik 801 00:47:31,290 --> 00:47:34,230 pasahitz hori, berdin berdin Dave da awesome? 802 00:47:34,230 --> 00:47:37,990 Beraz, gogoratu zure konpiladore bera uneren batean konpilatuta egon behar. 803 00:47:37,990 --> 00:47:42,810 Beraz, zer Clang biltzeko aukeratu baduzu batera, asmo txarreko da berez, eta gero zuk 804 00:47:42,810 --> 00:47:45,580 izorratu litezke osoa Modu line behera. 805 00:47:45,580 --> 00:47:49,630 >> Beraz, hemen, ez dugu Ken Thompson eta Dennis Ritchie. 806 00:47:49,630 --> 00:47:53,780 Beraz, hau ikoniko bat argazki da. 807 00:47:53,780 --> 00:47:55,470 Dennis Ritchie eskuinean den. 808 00:47:55,470 --> 00:47:58,740 Nagusietako bat da zuen - 809 00:47:58,740 --> 00:48:03,640 nahiko askoz idatzi C. Beraz, ahal duzun eskerrak eman zion klase honentzako. 810 00:48:03,640 --> 00:48:04,840 Ken Thomson ezker aldean da. 811 00:48:04,840 --> 00:48:07,780 Horietako bi funtsean idatzi UNIX. 812 00:48:07,780 --> 00:48:10,140 Beno, nagusien laguntzaileen ziren UNIX-en. 813 00:48:10,140 --> 00:48:11,310 Beste batzuk egon ziren. 814 00:48:11,310 --> 00:48:16,240 Beraz, Ken Thompson, uneren batean, Turing saria irabazi zuen. 815 00:48:16,240 --> 00:48:20,860 Eta Turing saria, Nik beti entzun dut Modu honetan erreferentziatutako da, da 816 00:48:20,860 --> 00:48:23,100 Nobel Saria informatikako. 817 00:48:23,100 --> 00:48:27,500 >> Beraz, Turing saria hartan, egin behar du bere onarpen hitzaldian eman. 818 00:48:27,500 --> 00:48:31,790 Eta hizketa oso famatua hau ematen zuen orain, hausnarketak fidatu izeneko 819 00:48:31,790 --> 00:48:35,620 Konfiantza, eta hori lotuta dugu Jakina, web orrian ere. 820 00:48:35,620 --> 00:48:41,670 Eta hizketa honetan, dio, guztiak eskuineko, beraz UNIX idatzi nuen, eta orain guztia 821 00:48:41,670 --> 00:48:43,320 duzun pertsona UNIX erabiltzen ari. 822 00:48:43,320 --> 00:48:46,960 Orain, gogoratu gaur egun Linux dela UNIX ondorengo zuzena. 823 00:48:46,960 --> 00:48:50,140 OS X zuzenean erabiltzen ditu UNIX. 824 00:48:50,140 --> 00:48:53,810 Leihoak ez du hainbeste, baina asko ideien ziren UNIX hartua. 825 00:48:53,810 --> 00:48:59,220 >> Beraz, gora doa zuen etapa, eta dio, guztiak eskubidea, UNIX idatzi nuen. 826 00:48:59,220 --> 00:49:03,940 Eta besterik ez, beraz, you guys ezagutzen, naiz gai bakoitzean sartu 827 00:49:03,940 --> 00:49:05,590 Zure ordenagailuak bakar. 828 00:49:05,590 --> 00:49:14,280 Bereziak horietako bat jarri dut x bada noiztik berdin berdin Ken Thomson is awesome, 829 00:49:14,280 --> 00:49:16,350 Orduz dut onartzen du saioa. 830 00:49:16,350 --> 00:49:18,370 Beraz, pertsona bezala, ondo, dira Nola hori? 831 00:49:18,370 --> 00:49:21,090 Begiratu login programa dugu eta ezer ez da han. 832 00:49:21,090 --> 00:49:24,700 Da, bezala ondo, konpiladoreak eraldatutako dut zuen Login programan hasi 833 00:49:24,700 --> 00:49:30,490 beraz saio-programa gaur egun izango dute x duten berdin berdin Ken Thompson 834 00:49:30,490 --> 00:49:31,700 Zoragarria da. 835 00:49:31,700 --> 00:49:33,120 >> Eta, esaten dute bai, hori ez da egia. 836 00:49:33,120 --> 00:49:35,740 Dugun konpiladore ikusten ari zara, eta konpiladoreak ez du ildo edozein 837 00:49:35,740 --> 00:49:36,400 horrelako kodea. 838 00:49:36,400 --> 00:49:40,540 Zuen bezala, OK, baina zer egiten ari zaren konpiladoreak konpilatzean batekin? 839 00:49:40,540 --> 00:49:44,810 Eta, uste dute, eta zuen da, bezala, ondo, Ko duten konpiladore eman zenuen naiz 840 00:49:44,810 --> 00:49:50,580 konpiladoreak biltzeko erabiltzen ari zara, beraz, konpiladore bat konpilatzen ari zaren, dela 841 00:49:50,580 --> 00:49:56,390 maltzurren da berez, eta, izango login programa apurtu. 842 00:49:56,390 --> 00:49:59,360 Beraz, funtsean, puntu horretan, ez da modu ez duzu iturburua begiratu zezakeen 843 00:49:59,360 --> 00:50:02,450 login programaren kodea gaizki dagoena ikusteko. 844 00:50:02,450 --> 00:50:04,220 Ezin duzu ere begiratu iturri konpiladoreak kode 845 00:50:04,220 --> 00:50:06,790 gaizki dagoena ikusteko. 846 00:50:06,790 --> 00:50:11,940 >> Makina begiratu beharko zenuke kodea, benetako bikoan 847 00:50:11,940 --> 00:50:16,760 konpilatutako konpiladorea, ikusteko itxaron, horiek kode lerro ez luke hemen egongo. 848 00:50:16,760 --> 00:50:22,130 Baina Ken Thompson urrats bat hartu zuen aurrerago, eta esan zuen, bai, badira 849 00:50:22,130 --> 00:50:25,980 programa bereziak horiek benetan programen bitar irakurri duzu lagun, 850 00:50:25,980 --> 00:50:29,340 eta beraz, norbaitek programa hori erabiltzen bada bitarra irakurri, ikusi zuten horiek 851 00:50:29,340 --> 00:50:30,490 kode lerro. 852 00:50:30,490 --> 00:50:34,020 Esan programa hori aldatu egin zen, guztiak eskubidea, zuk begira bazabiltza 853 00:50:34,020 --> 00:50:38,460 konpiladorea, ez erakutsi hau bereziki bitarra multzo. 854 00:50:38,460 --> 00:50:42,830 >> Beraz, ondoren, hartu behar duzu, beste urrats bat gehiago eta, batez ere, hori izan liteke 855 00:50:42,830 --> 00:50:46,210 hartu indirection hainbat mailatako, eta uneren batean, inork ez da benetan 856 00:50:46,210 --> 00:50:47,990 egiaztapena egingo. 857 00:50:47,990 --> 00:50:52,590 Beraz Istorioaren morala da, zu ez dugu idazten joan 858 00:50:52,590 --> 00:50:54,340 Klase honetan astintzen. 859 00:50:54,340 --> 00:50:57,020 Egon eskalada erabiliz joan zaren Asko astintzen klase honetan. 860 00:50:57,020 --> 00:51:00,490 Jakingo duzuen guztientzat, Clang da gaiztoren programa hori behin saboteatzen 861 00:51:00,490 --> 00:51:03,520 programa bakar Duzun inoiz konpilatu. 862 00:51:03,520 --> 00:51:08,206 Eta zuk oso kezkagarriak utzi ohar, ikusten duzu asteazkenean. 863 00:51:08,206 --> 00:51:10,030 >> [Txaloak] 864 00:51:10,030 --> 00:51:12,935 >> HIZLARIA 2: hurrengo CS50 At. 865 00:51:12,935 --> 00:51:14,580 >> HIZLARIA: 3 Ez esan ausartzen duzu. 866 00:51:14,580 --> 00:51:15,930 Hau egin ahal izango duzu. 867 00:51:15,930 --> 00:51:19,440 Egin duzun hori baino lehen, hau egin ahal izango duzu gaur, hau egin ahal izango duzu bihar. 868 00:51:19,440 --> 00:51:20,930 Izan duzun lan hau egiteko urte. 869 00:51:20,930 --> 00:51:22,790 Just joan han eta hori egin. 870 00:51:22,790 --> 00:51:24,310 Hau egin ahal izango duzu. 871 00:51:24,310 --> 00:51:26,102 >> [Musika jotzen]