1 00:00:00,000 --> 00:00:07,700 2 00:00:07,700 --> 00:00:15,180 >> SPEAKER: OK, takže nebudete věřit, ale minulý týden, v pondělí, v Pierce, I 3 00:00:15,180 --> 00:00:16,090 byl dole v suterénu. 4 00:00:16,090 --> 00:00:17,010 Nikdy jsem jít na Pierce. 5 00:00:17,010 --> 00:00:20,530 A já nikdy nebudu vracet, protože Nechala jsem si věci sám, 6 00:00:20,530 --> 00:00:23,950 jako pět minut a někdo ukradl počítač a moje 7 00:00:23,950 --> 00:00:26,050 telefon z batohu. 8 00:00:26,050 --> 00:00:28,780 Což znamená, že jsem se dostal zpátky, a pak méně než o týden později 9 00:00:28,780 --> 00:00:30,220 se dostal opět ukradl. 10 00:00:30,220 --> 00:00:31,570 >> A pak se dostal zapnutí - 11 00:00:31,570 --> 00:00:34,540 Find My iPhone pokračuje být neužitečné. 12 00:00:34,540 --> 00:00:37,340 Tak jsem i nadále podporovat nebudete používat. 13 00:00:37,340 --> 00:00:42,270 Je zapnuté jednou, a to bylo v MIT, stejně jako 15 minut později, a osoba, 14 00:00:42,270 --> 00:00:45,770 volal toto telefonní číslo, které ukázaly, v mém AT & T volání. 15 00:00:45,770 --> 00:00:48,830 >> Tak jsem šel on-line, volal, že telefon číslo, a šel rovnou na to 16 00:00:48,830 --> 00:00:50,540 záznamník ve španělštině. 17 00:00:50,540 --> 00:00:52,520 A já jsem o tom slyšel od. 18 00:00:52,520 --> 00:00:54,800 Takže jsem se musel dostat nový počítač a telefon. 19 00:00:54,800 --> 00:00:55,150 Já vím. 20 00:00:55,150 --> 00:00:56,326 Jo. 21 00:00:56,326 --> 00:01:00,110 Ale pokud vy chcete čip do mého Počítač fondu po tomto, to je důvod, proč 22 00:01:00,110 --> 00:01:01,030 Ptal jsem se tě tady. 23 00:01:01,030 --> 00:01:02,280 Jen si dělám srandu. 24 00:01:02,280 --> 00:01:04,239 25 00:01:04,239 --> 00:01:07,420 Ale to bylo opravdu smutné a traumatizující. 26 00:01:07,420 --> 00:01:10,700 >> Ale je to všechno zpátky, a to byl důvod, proč p-set 8 trvalo tak dlouho, protože 27 00:01:10,700 --> 00:01:12,480 Jsem neměl počítač. 28 00:01:12,480 --> 00:01:13,730 A někdo ho ukradl. 29 00:01:13,730 --> 00:01:16,940 A já jsem e-mailem, s dotazem, zda se by grade vaše p-sada 8. 30 00:01:16,940 --> 00:01:18,790 Ale řekl, že ne. 31 00:01:18,790 --> 00:01:20,000 A byl jsem rád, mohu mít můj počítač zpět? 32 00:01:20,000 --> 00:01:21,270 A oni to jako, no. 33 00:01:21,270 --> 00:01:22,130 Jen si dělám srandu. 34 00:01:22,130 --> 00:01:22,930 >> OK. 35 00:01:22,930 --> 00:01:28,140 To je naše poslední část, a mám pár - máme jen tři 36 00:01:28,140 --> 00:01:29,790 věci na pořadu jednání. 37 00:01:29,790 --> 00:01:31,330 Budeme mluvit trochu o průvodci Q. 38 00:01:31,330 --> 00:01:33,900 Pak budeme trávit 15 minut na chladném demo. 39 00:01:33,900 --> 00:01:36,890 Pak budeme všichni říkají, Zapomeňte na sobě. 40 00:01:36,890 --> 00:01:41,460 Nemáte opravdu potřebujete počítačů nebo pero, nebo papír na poznámky, nebo 41 00:01:41,460 --> 00:01:42,410 sledovat spolu. 42 00:01:42,410 --> 00:01:45,620 Takže předpokládám, že pokud máte počítač up, pak jste na Facebooku. 43 00:01:45,620 --> 00:01:46,530 Jen říkám. 44 00:01:46,530 --> 00:01:49,650 Pokud jste vyplňování Q průvodce, který je jako první. 45 00:01:49,650 --> 00:01:50,690 >> Průvodce Q je otevřená. 46 00:01:50,690 --> 00:01:53,520 Měli jste e-mail o tom. 47 00:01:53,520 --> 00:01:56,930 Jakmile jsou všechny Q věci se podává na konec roku, jsem si všechny 48 00:01:56,930 --> 00:02:03,710 Q připomínky skóre ze všech stran který se rozhodne dát mi zpětnou vazbu. 49 00:02:03,710 --> 00:02:04,810 A tak, když jdete do Q - 50 00:02:04,810 --> 00:02:07,440 Já nevím, jestli to dokážeš, Jeff, protože jsi a rozšíření studenta. 51 00:02:07,440 --> 00:02:12,730 Ale když jdete do Q, pokud nemáte to udělal předtím, si vyberete svůj 52 00:02:12,730 --> 00:02:14,020 učitel, který je David Malan. 53 00:02:14,020 --> 00:02:14,970 Musíte ho udělat. 54 00:02:14,970 --> 00:02:15,690 >> A pak si můžete vybrat TFS. 55 00:02:15,690 --> 00:02:17,750 A můžete si vybrat, jak mnoho TFS, jak chcete. 56 00:02:17,750 --> 00:02:18,990 Ale existuje 60 z nás. 57 00:02:18,990 --> 00:02:20,350 Nemusíte vybírat každého. 58 00:02:20,350 --> 00:02:23,090 Můžeš mě jen vybrat, nebo jen vybrat pár dalších lidí, pokud chcete, aby 59 00:02:23,090 --> 00:02:24,470 dát jim zpětnou vazbu, jak dobře. 60 00:02:24,470 --> 00:02:27,595 A pak dostanete skóre na všech těchto různé osy, a pak si můžete nechat 61 00:02:27,595 --> 00:02:28,570 je zpětná vazba. 62 00:02:28,570 --> 00:02:31,520 >> A pak, stejně jako o měsíc později, Dostanu všechno, že zpětná vazba. 63 00:02:31,520 --> 00:02:34,570 A stejně jako zpětná vazba jste byli že mi v průběhu semestru, jsem 64 00:02:34,570 --> 00:02:35,790 číst všechno. 65 00:02:35,790 --> 00:02:39,620 A je to opravdu užitečné, a to pomáhá mi rostou jako učitel a jako 66 00:02:39,620 --> 00:02:40,680 individuální. 67 00:02:40,680 --> 00:02:43,360 Takže, prosím, vzít nějaký čas na to. 68 00:02:43,360 --> 00:02:45,020 Jsme jen bude zde pro, jako, 30 minut. 69 00:02:45,020 --> 00:02:48,090 Takže pokud chcete, na konci tohoto, na pět minut, a stačí vyplnit 70 00:02:48,090 --> 00:02:49,960 Q, protože to nebere víc času než to. 71 00:02:49,960 --> 00:02:53,410 To by bylo skvělé, a také dostat své třídy zpět mnohem rychleji, pokud 72 00:02:53,410 --> 00:02:54,620 můžete vyplnit Q. 73 00:02:54,620 --> 00:02:56,580 >> Takže většina z vás udělal, že před - 74 00:02:56,580 --> 00:02:58,240 nebo ne, asi polovina z vás udělal, že před. 75 00:02:58,240 --> 00:03:00,060 Ale pokud jste nováček, to je to, co to je. 76 00:03:00,060 --> 00:03:01,910 Bude to stejné pro všechny třídy. 77 00:03:01,910 --> 00:03:02,270 Udělej to. 78 00:03:02,270 --> 00:03:02,900 Trvá to pět minut. 79 00:03:02,900 --> 00:03:07,610 Ale také, pokud si to trochu vážně, že to není to nejhorší, co 80 00:03:07,610 --> 00:03:10,270 na světě, protože jsem určitě brát vážně. 81 00:03:10,270 --> 00:03:13,000 >> Takže pokud jste mě nechat smajlíka, I ocení, že. 82 00:03:13,000 --> 00:03:17,550 Ale já bych také ocenil, pokud vám mě opustil více než smajlíka. 83 00:03:17,550 --> 00:03:18,270 Ale je to jen na vás. 84 00:03:18,270 --> 00:03:21,540 Nemůžu říct - nebo jako velký smajlík tvář, s velkým D. To by 85 00:03:21,540 --> 00:03:23,060 být ještě lepší. 86 00:03:23,060 --> 00:03:27,860 >> OK, to je vše, co mám na Q. Pokud máte nějaké dotazy, můžete se zeptat 87 00:03:27,860 --> 00:03:29,370 mi, ale docela samo-vysvětlující. 88 00:03:29,370 --> 00:03:31,090 Jen, prosím, vyplňte ji. 89 00:03:31,090 --> 00:03:34,390 Já bych ve skutečnosti ocenit ono, a to znamená pro mě hodně. 90 00:03:34,390 --> 00:03:38,910 >> OK, to je to, co se chystáte utratit 15 minut prochází. 91 00:03:38,910 --> 00:03:39,800 Chystám se vám ukázat nějaký kód. 92 00:03:39,800 --> 00:03:42,080 Myslím, že to je opravdu cool, a to mě dostal více 93 00:03:42,080 --> 00:03:43,810 vzrušená v informatice. 94 00:03:43,810 --> 00:03:46,480 Takže doufám, že to bude dělat Totéž pro vás všechny. 95 00:03:46,480 --> 00:03:51,760 >> Chystáme se otevřít - a to vše Kód pošlu vám později. 96 00:03:51,760 --> 00:03:52,680 Ale my jsme jen tak otevřít - 97 00:03:52,680 --> 00:03:54,310 Já jsem ve svém terminálu - 98 00:03:54,310 --> 00:03:56,810 budeme otevírat tento program s názvem [? MySum. ?] 99 00:03:56,810 --> 00:04:01,290 100 00:04:01,290 --> 00:04:02,540 >> Každý může přečíst, že, nebo Měl bych dělat to větší? 101 00:04:02,540 --> 00:04:07,670 102 00:04:07,670 --> 00:04:13,040 Může mi někdo říct, co tento kód bude dělat, když jsem jej spustit, nebo co to 103 00:04:13,040 --> 00:04:14,320 Program bude dělat, když jsem jej spustit? 104 00:04:14,320 --> 00:04:30,710 105 00:04:30,710 --> 00:04:32,400 >> [? Avi,?] Co si myslíte to bude dělat? 106 00:04:32,400 --> 00:04:33,335 Dokončit žvýkání. 107 00:04:33,335 --> 00:04:35,033 Neměli byste mluvit s vaše ústa otevřená. 108 00:04:35,033 --> 00:04:38,330 109 00:04:38,330 --> 00:04:42,860 >> DIVÁKŮ: Má to trvat spoustu argumenty, najít součet jejich návratu 110 00:04:42,860 --> 00:04:45,285 součet, a pak ho vytisknout? 111 00:04:45,285 --> 00:04:53,045 Nebo to trvá dva argumenty, a pak to dělá [neslyšitelné]. 112 00:04:53,045 --> 00:04:56,460 A pak se to vytiskne cokoliv výsledky jsou. 113 00:04:56,460 --> 00:04:58,100 >> SPEAKER: Close, opravdu blízko. 114 00:04:58,100 --> 00:04:59,840 Někdo chcete přidat do [? co Avi?] řekl? 115 00:04:59,840 --> 00:05:04,830 116 00:05:04,830 --> 00:05:07,293 Potřebujete, aby tento program žádné argumenty příkazového řádku? 117 00:05:07,293 --> 00:05:09,145 >> Diváků: Ne 118 00:05:09,145 --> 00:05:09,610 >> SPEAKER: Ne 119 00:05:09,610 --> 00:05:11,250 Co se stane, pokud nechcete, aby to žádné argumenty příkazového řádku? 120 00:05:11,250 --> 00:05:12,500 Jen jsem napsat tečka lomítko MySum. 121 00:05:12,500 --> 00:05:15,145 122 00:05:15,145 --> 00:05:16,630 >> DIVÁKŮ: 1 plus 2 se rovná 3. 123 00:05:16,630 --> 00:05:17,250 >> SPEAKER: 1 plus 2 se rovná 3. 124 00:05:17,250 --> 00:05:18,570 A to bude tisknout, že ven. 125 00:05:18,570 --> 00:05:19,450 To je přesně to pravé. 126 00:05:19,450 --> 00:05:21,370 Uvidíte, že tiskové f řádku v dolní části. 127 00:05:21,370 --> 00:05:23,450 Je to vytisknout a, b, a pak součet A a B. 128 00:05:23,450 --> 00:05:26,360 A myslím, že se domníváte, že Součet funguje správně. 129 00:05:26,360 --> 00:05:28,120 Dobrý předpoklad. 130 00:05:28,120 --> 00:05:32,250 >> OK, a co se stane, když dát to, co hádka? 131 00:05:32,250 --> 00:05:33,010 [? Manu? ?] 132 00:05:33,010 --> 00:05:36,230 >> DIVÁKŮ: Bude přidat cokoliv První argument je b.. 133 00:05:36,230 --> 00:05:37,150 Nebo 2, je mi líto. 134 00:05:37,150 --> 00:05:38,480 >> SPEAKER: Jasně, na 2. 135 00:05:38,480 --> 00:05:42,470 Ví někdo, co strtol dělá? 136 00:05:42,470 --> 00:05:43,960 Je to v podstatě atoi. 137 00:05:43,960 --> 00:05:47,240 Atoi je vlastně vymyšlené verze - 138 00:05:47,240 --> 00:05:49,600 nebo jednodušší verze strtol. 139 00:05:49,600 --> 00:05:51,790 Ale to vlastně používá strtol. 140 00:05:51,790 --> 00:05:54,610 141 00:05:54,610 --> 00:05:58,010 A já jsem zjistil, že, protože jsem chtěl, něco jako atoi, a pak, když jsem se 142 00:05:58,010 --> 00:06:01,110 se atoi, četl jsem tady dole. 143 00:06:01,110 --> 00:06:04,380 A já jsem našel "toto chování je stejné jako "strtol. 144 00:06:04,380 --> 00:06:06,850 Takže je to v podstatě atoi pro všechny záměry a účely. 145 00:06:06,850 --> 00:06:09,320 A vidíte, ještě jsem použít null a 10. 146 00:06:09,320 --> 00:06:14,390 >> To skutečně umožňuje pořizovat řetězec, a přeměnit ji na číslo, a zvolte 147 00:06:14,390 --> 00:06:15,970 jaký základní chcete udělat palců 148 00:06:15,970 --> 00:06:17,370 Tak to je základ 10 tady. 149 00:06:17,370 --> 00:06:20,455 Mohl jsem udělat základní dva na jedno desetinné místo, základna 16 pro hexadecimální. 150 00:06:20,455 --> 00:06:22,090 Je to docela v pohodě. 151 00:06:22,090 --> 00:06:25,860 Ale dlouhý příběh krátký, to trvá dva čísla a sečte je. 152 00:06:25,860 --> 00:06:29,260 >> Takže pojďme spusťte jej. 153 00:06:29,260 --> 00:06:32,560 A budete také všimnout, že jsou některé věci - 154 00:06:32,560 --> 00:06:37,830 takže mám makefile tady, a Pokud otevřete že se některé věci 155 00:06:37,830 --> 00:06:39,270 si všimnete, jsou různé. 156 00:06:39,270 --> 00:06:42,370 Konkrétně, tento argument tady, jste pravděpodobně 157 00:06:42,370 --> 00:06:43,010 Neviděl, že před. 158 00:06:43,010 --> 00:06:45,770 Obecně platí, že jsme se sestavit co pomlčkou nula, nula. 159 00:06:45,770 --> 00:06:51,500 Dash nula, nula, znamená, že nemusíte dělat jakékoliv optimalizace, kompilátor. 160 00:06:51,500 --> 00:06:54,950 Nesnažte se dělat nic chuť, nebo dělat cokoliv spustit rychleji, nebo se 161 00:06:54,950 --> 00:06:56,530 zbavit proměnných, které jsou nezbytné. 162 00:06:56,530 --> 00:06:58,080 Nepoužívejte optimalizovat tento kód vůbec, 163 00:06:58,080 --> 00:07:00,110 >> Ptám se na třetí úrovni optimalizace. 164 00:07:00,110 --> 00:07:02,580 Takže se ptám kompilátor dělat Mnoho optimalizací. 165 00:07:02,580 --> 00:07:05,870 Můžete změnit v makefile, kdy Máte tento kód, pokud chcete 166 00:07:05,870 --> 00:07:07,190 vidět různé věci. 167 00:07:07,190 --> 00:07:08,660 Což my vám ukážeme, ve vteřině. 168 00:07:08,660 --> 00:07:12,080 Takže jsme se spustit svůj částku 1 plus 2 plus 3. 169 00:07:12,080 --> 00:07:13,445 Někdo mi dejte dva argumenty. 170 00:07:13,445 --> 00:07:17,221 171 00:07:17,221 --> 00:07:18,210 >> DIVÁKŮ: 4 a 5. 172 00:07:18,210 --> 00:07:18,966 >> SPEAKER: 4 a 5. 173 00:07:18,966 --> 00:07:19,900 Děkuju. 174 00:07:19,900 --> 00:07:20,860 Skvělé, funguje to. 175 00:07:20,860 --> 00:07:25,700 Jaké jsou některé další dobré argumenty pokusit, aby se ujistil to funguje? 176 00:07:25,700 --> 00:07:27,050 Každý, kdo? 177 00:07:27,050 --> 00:07:27,430 >> DIVÁKŮ: 0. 178 00:07:27,430 --> 00:07:29,210 >> SPEAKER: 0 a? 179 00:07:29,210 --> 00:07:31,010 >> DIVÁKŮ: Negativní 3. 180 00:07:31,010 --> 00:07:32,040 >> SPEAKER: Funguje to. 181 00:07:32,040 --> 00:07:33,670 Ale to bylo dobré rozhodnutí. 182 00:07:33,670 --> 00:07:36,600 OK, takže pojďme zpátky. 183 00:07:36,600 --> 00:07:38,540 To je mysum.c. 184 00:07:38,540 --> 00:07:42,440 Všimnete si, že je to také něco volal sumfunction.c. 185 00:07:42,440 --> 00:07:48,110 A to říká, ach, je tu něco, jsou definovány v sumfunction.c. 186 00:07:48,110 --> 00:07:51,480 Nechci tento soubor zahrnout sem protože nemusíte. 187 00:07:51,480 --> 00:07:54,840 Ale já propojit ji, když jsem kompilaci, který jste si všimli. 188 00:07:54,840 --> 00:07:57,380 >> Pojďme se posunout nahoru. 189 00:07:57,380 --> 00:08:02,880 Viděli jsme, když jsme sestavili mysum, právo tam, co jsme propojili v binárním od 190 00:08:02,880 --> 00:08:04,130 sumfunction.o. 191 00:08:04,130 --> 00:08:05,780 192 00:08:05,780 --> 00:08:08,470 A nepotřebuju hlavičkový soubor protože, samozřejmě, je tu 193 00:08:08,470 --> 00:08:09,240 Deklarace funkce. 194 00:08:09,240 --> 00:08:12,200 Tak ostré jsou normálně jen vezme v deklaraci funkce. 195 00:08:12,200 --> 00:08:13,730 Tady jsem jen dát to rovnou v kódu. 196 00:08:13,730 --> 00:08:16,370 A tak musím udělat, je odkaz v binární, které dělám. 197 00:08:16,370 --> 00:08:19,950 >> Jakékoli odhady pro to, co je v sumfunction.c? 198 00:08:19,950 --> 00:08:21,950 Jaký kód jsem napsal v sumfunction.c? 199 00:08:21,950 --> 00:08:25,445 200 00:08:25,445 --> 00:08:26,695 >> DIVÁKŮ: [neslyšitelné]. 201 00:08:26,695 --> 00:08:29,460 202 00:08:29,460 --> 00:08:30,630 >> SPEAKER: Jakékoli odhady? 203 00:08:30,630 --> 00:08:30,940 Jo? 204 00:08:30,940 --> 00:08:33,710 >> Diváků: Myslím, že definuje některé [neslyšitelný]. 205 00:08:33,710 --> 00:08:33,975 >> SPEAKER: Ano. 206 00:08:33,975 --> 00:08:37,650 Tak jsem to zápis int součet int. 207 00:08:37,650 --> 00:08:41,120 Píšu tento řádek, a pak mám otevřeno složená závorka, uzavřená složená závorka. 208 00:08:41,120 --> 00:08:46,160 Co si myslíš, že píšu v těch složené závorky, uvnitř této funkce? 209 00:08:46,160 --> 00:08:46,600 Jo? 210 00:08:46,600 --> 00:08:48,150 >> DIVÁKŮ: Návrat rovná. 211 00:08:48,150 --> 00:08:50,010 >> Procesor: To je opravdu dobrý odhad. 212 00:08:50,010 --> 00:08:51,720 Kdo si myslí, že [? Manu?] Má pravdu? 213 00:08:51,720 --> 00:08:54,122 To říká, že vrátit a navíc b.. 214 00:08:54,122 --> 00:08:55,860 OK, ne všichni. 215 00:08:55,860 --> 00:08:56,520 [? Akshar,?] 216 00:08:56,520 --> 00:08:57,390 ty taky? 217 00:08:57,390 --> 00:09:00,430 Jsi si jistý? 218 00:09:00,430 --> 00:09:01,680 OK. 219 00:09:01,680 --> 00:09:09,551 220 00:09:09,551 --> 00:09:10,050 Co je? 221 00:09:10,050 --> 00:09:11,662 >> DIVÁKŮ: hláskoval jsi to špatně. 222 00:09:11,662 --> 00:09:13,000 >> SPEAKER: Ne, já ne. 223 00:09:13,000 --> 00:09:13,966 Jo, dělám si srandu. 224 00:09:13,966 --> 00:09:15,300 Máš pravdu. 225 00:09:15,300 --> 00:09:15,930 To je přesně to, co říká. 226 00:09:15,930 --> 00:09:17,110 Je to vrátit a navíc b.. 227 00:09:17,110 --> 00:09:18,570 To dělá hodně smysl. 228 00:09:18,570 --> 00:09:20,240 >> OK, pojďme zpátky. 229 00:09:20,240 --> 00:09:21,490 Vidíme, jak se hlavička - 230 00:09:21,490 --> 00:09:24,540 231 00:09:24,540 --> 00:09:25,660 to je návratový typ. 232 00:09:25,660 --> 00:09:29,100 Pamatujte si, že jsme viděli, že první den, návratový typ funkce, ale jde 233 00:09:29,100 --> 00:09:30,160 před názvem funkce int. 234 00:09:30,160 --> 00:09:31,560 Tady jsem napsal int. 235 00:09:31,560 --> 00:09:35,680 Co si myslíte, že se stane, pokud v tomto funkce, nepíšu int, ale 236 00:09:35,680 --> 00:09:38,270 Píšu unsigned? 237 00:09:38,270 --> 00:09:41,050 Rozdíl, samozřejmě, je, že unsigned představuje pouze pozitivní 238 00:09:41,050 --> 00:09:43,620 celá čísla, a int mohou být pozitivní nebo negativní. 239 00:09:43,620 --> 00:09:45,450 >> Tak jsem změnil návrat typ této funkce. 240 00:09:45,450 --> 00:09:49,370 Tento kód se neshoduje opište tento návrat. 241 00:09:49,370 --> 00:09:50,925 Co si myslíte, že se stane když jsem kompilaci? 242 00:09:50,925 --> 00:09:53,840 243 00:09:53,840 --> 00:09:56,240 Měli byste na mě křičet. 244 00:09:56,240 --> 00:09:57,700 Žádný křik. 245 00:09:57,700 --> 00:10:00,050 >> Co když jsem spuštění programu? 246 00:10:00,050 --> 00:10:05,810 Pojďme udělat před 0 Negativní 3, nebo negativní 1.. 247 00:10:05,810 --> 00:10:10,180 Je to stále funguje, i když říkám, je to vrácením celé číslo bez znaménka. 248 00:10:10,180 --> 00:10:12,060 Je jasné, že to není návratu celé číslo bez znaménka. 249 00:10:12,060 --> 00:10:13,520 Je to vrácením celé číslo se znaménkem. 250 00:10:13,520 --> 00:10:16,130 Je to vrací negativní 1. 251 00:10:16,130 --> 00:10:17,830 OK, to je divné. 252 00:10:17,830 --> 00:10:27,030 >> Co když půjdu do tady a dělat, že? 253 00:10:27,030 --> 00:10:29,700 Tak jsem se všechno změnilo z int na unsigned. 254 00:10:29,700 --> 00:10:31,590 To může trvat pouze nepodepsané celá čísla. 255 00:10:31,590 --> 00:10:33,840 Ale stále si myslím, že to běží? 256 00:10:33,840 --> 00:10:35,652 >> DIVÁKŮ: Ano. 257 00:10:35,652 --> 00:10:37,270 >> SPEAKER: to bude. 258 00:10:37,270 --> 00:10:39,410 To je šílené. 259 00:10:39,410 --> 00:10:43,140 A míjíme v jednoznačně přiřadit celé číslo, můžeme projít dva podepsali 260 00:10:43,140 --> 00:10:46,280 celé číslo, to ještě funguje. 261 00:10:46,280 --> 00:10:52,150 >> OK, nějaké nápady, proč je stále funguje, nebo to, co se děje? 262 00:10:52,150 --> 00:10:53,368 Jo, Jeff. 263 00:10:53,368 --> 00:10:56,296 >> DIVÁKŮ: To má co do činění s optimalizací, které 264 00:10:56,296 --> 00:10:57,760 zvýrazní. 265 00:10:57,760 --> 00:10:58,210 >> SPEAKER: Ne 266 00:10:58,210 --> 00:11:00,570 Mohli bychom změnit optimalizace, to by ještě fungovat. 267 00:11:00,570 --> 00:11:02,240 Můžu to udělat pro vás, ale - 268 00:11:02,240 --> 00:11:02,930 >> Diváků: Vezmu vás za slovo. 269 00:11:02,930 --> 00:11:03,690 >> SPEAKER: Jo. 270 00:11:03,690 --> 00:11:09,690 Pokud otevřete makefile tady, Změnil jsem optimalizaci. 271 00:11:09,690 --> 00:11:11,570 Takže si můžete udělat pomlčka nula, nula. 272 00:11:11,570 --> 00:11:12,820 To bude ještě pracovat. 273 00:11:12,820 --> 00:11:16,839 274 00:11:16,839 --> 00:11:20,280 Jiné myšlenky? 275 00:11:20,280 --> 00:11:22,600 >> Vy všichni Očekává se, že práce, tak Proč jste očekávat, že to funguje? 276 00:11:22,600 --> 00:11:31,210 277 00:11:31,210 --> 00:11:32,150 Ne? 278 00:11:32,150 --> 00:11:33,660 Ticho. 279 00:11:33,660 --> 00:11:34,910 OK. 280 00:11:34,910 --> 00:11:39,271 281 00:11:39,271 --> 00:11:41,650 Musím čekat sedm sekund, proto, že jsem se ptal. 282 00:11:41,650 --> 00:11:44,190 283 00:11:44,190 --> 00:11:48,660 >> Takže super věc o C, a vy jste pravděpodobně nezažili - vámi 284 00:11:48,660 --> 00:11:50,260 nemusí mít, mohlo by to být poprvé. 285 00:11:50,260 --> 00:11:57,030 Ale jak všichni víte, když píšu něco v C, to neukládá jako 286 00:11:57,030 --> 00:11:57,760 to na počítači. 287 00:11:57,760 --> 00:11:59,440 Je uložen jako jedniček a nul. 288 00:11:59,440 --> 00:12:02,970 Jde z kódu C do assembleru. 289 00:12:02,970 --> 00:12:09,460 >> Viděl někdo assembleru dříve, Stroj montážní kód? 290 00:12:09,460 --> 00:12:10,630 Podíváme se na vteřinku. 291 00:12:10,630 --> 00:12:12,040 Jde z kódu C do assembleru. 292 00:12:12,040 --> 00:12:13,755 A vy víte fáze kompilace. 293 00:12:13,755 --> 00:12:17,410 Vy jste měli na paměti, že pro jeden kvíz, a pak ho vypsat na testu nulové. 294 00:12:17,410 --> 00:12:18,240 Většina lidí to špatně. 295 00:12:18,240 --> 00:12:19,760 Myslím, že vy ho přibil. 296 00:12:19,760 --> 00:12:22,880 >> Ale, vy jste nejlepší část pro kvízy, mimochodem. 297 00:12:22,880 --> 00:12:25,210 Což je úžasné. 298 00:12:25,210 --> 00:12:25,910 Nebude vás bolet. 299 00:12:25,910 --> 00:12:26,900 Nedělejte si starosti. 300 00:12:26,900 --> 00:12:28,800 Ale je to opravdu cool. 301 00:12:28,800 --> 00:12:29,660 Dobrá práce. 302 00:12:29,660 --> 00:12:32,870 >> Tak to jde do assembleru, a pak to jde do jedniček a nul. 303 00:12:32,870 --> 00:12:35,500 A ty jedničky a nuly jsou uloženy na počítače, a to je to, co uloží do 304 00:12:35,500 --> 00:12:38,340 a.out, nebo v tomto případě, spustitelný soubor. 305 00:12:38,340 --> 00:12:41,040 A počítač běží jedniček a nul. 306 00:12:41,040 --> 00:12:41,670 Je to tak? 307 00:12:41,670 --> 00:12:43,890 Máme před naučili to. 308 00:12:43,890 --> 00:12:47,490 >> Takže super věc je, že tato znaménka idea, myšlenka typů ints nesignováno, 309 00:12:47,490 --> 00:12:50,490 et cetera, et cetera, že je tady v jazyce C. 310 00:12:50,490 --> 00:12:51,110 Ti, kteří existují. 311 00:12:51,110 --> 00:12:53,770 Ale typy neexistují v ty jedničky a nuly. 312 00:12:53,770 --> 00:12:57,110 Typy ani opravdu existují na assembleru úroveň. 313 00:12:57,110 --> 00:13:00,075 Tak to je něco, co existuje v C svět, ale neexistuje v počítači 314 00:13:00,075 --> 00:13:01,640 svět nebo svět procesoru. 315 00:13:01,640 --> 00:13:04,660 To je nějaký abstrakce, že C jazyk je součástí, aby se naše 316 00:13:04,660 --> 00:13:06,240 život jednodušší. 317 00:13:06,240 --> 00:13:09,990 >> Takže na konci dne, mohu napsat mnoho různých věcí, tady, a to 318 00:13:09,990 --> 00:13:10,700 nedělá rozdíl. 319 00:13:10,700 --> 00:13:12,060 Vzhledem k tomu, že existuje pouze v C světě. 320 00:13:12,060 --> 00:13:14,100 To neexistuje v ty a nuly svět. 321 00:13:14,100 --> 00:13:17,310 A náš program je prováděn v ty a nuly svět. 322 00:13:17,310 --> 00:13:21,170 Takže zjevně není spálená ale vaše mysl je. 323 00:13:21,170 --> 00:13:22,740 Ale myslím, že je to v pohodě. 324 00:13:22,740 --> 00:13:23,530 Jo, Jeff. 325 00:13:23,530 --> 00:13:27,298 >> DIVÁKŮ: Takže, je-li místo dělat int, vy char. 326 00:13:27,298 --> 00:13:27,770 A vy jste byli - 327 00:13:27,770 --> 00:13:29,311 >> SPEAKER: Pojďme to udělat v sec. 328 00:13:29,311 --> 00:13:32,583 >> DIVÁKŮ: Protože pak dostanete unsigned bude z negativního 128 až 329 00:13:32,583 --> 00:13:34,720 127, nebo od 0 do 255.. 330 00:13:34,720 --> 00:13:36,760 >> SPEAKER: Tak char je problematické. 331 00:13:36,760 --> 00:13:39,460 Ví někdo, proč by char se problematické, a to by ve skutečnosti 332 00:13:39,460 --> 00:13:42,930 změnit věci v těch a nuly svět? 333 00:13:42,930 --> 00:13:44,370 >> DIVÁKŮ: Vzhledem k velikosti char. 334 00:13:44,370 --> 00:13:46,200 >> SPEAKER: Velikost znaku je 1. 335 00:13:46,200 --> 00:13:48,260 Takže unsigned je 4 bajty. 336 00:13:48,260 --> 00:13:50,080 Takže char by šroub věci do pořádku. 337 00:13:50,080 --> 00:13:55,660 Ale to, co se 4 byty, který je vztahující se k char? 338 00:13:55,660 --> 00:13:57,820 Nebo, že přidá jeden další - 339 00:13:57,820 --> 00:13:59,760 můžete si dát ještě jednu postavu po char. 340 00:13:59,760 --> 00:14:00,200 >> DIVÁKŮ: Char hvězda. 341 00:14:00,200 --> 00:14:01,220 >> SPEAKER: Char hvězda má 4 bajty. 342 00:14:01,220 --> 00:14:02,490 Takže pojďme něco udělat to je char hvězda. 343 00:14:02,490 --> 00:14:05,470 344 00:14:05,470 --> 00:14:07,240 >> Tak by to asi fungovat, ale my jsme dělat něco ještě 345 00:14:07,240 --> 00:14:09,710 šílenější než tohle. 346 00:14:09,710 --> 00:14:10,960 Podle mého názoru, bláznivější. 347 00:14:10,960 --> 00:14:21,060 348 00:14:21,060 --> 00:14:24,570 >> Já jsem teď napsal funkci, která vrací ukazatel, a to trvá 349 00:14:24,570 --> 00:14:29,480 ukazatel a hodnota bez znaménka - budeme změnit zpátky na int, takže nejsme 350 00:14:29,480 --> 00:14:31,250 dělat příliš mnoho změn najednou. 351 00:14:31,250 --> 00:14:35,370 A to má řadu nazvanou a, indexy do pole, a vrátí se 352 00:14:35,370 --> 00:14:35,850 adresa. 353 00:14:35,850 --> 00:14:37,470 My jsme tyto operátory neviděl. 354 00:14:37,470 --> 00:14:43,340 To, co si myslíš, že to bude k tomu, na oplátku, když jsem jej spustit? 355 00:14:43,340 --> 00:14:48,280 356 00:14:48,280 --> 00:14:49,070 Co si myslíte, že to bude dělat? 357 00:14:49,070 --> 00:14:50,320 Jakékoli odhady? 358 00:14:50,320 --> 00:14:54,220 359 00:14:54,220 --> 00:14:55,320 >> DIVÁKŮ: segfault. 360 00:14:55,320 --> 00:14:55,600 >> SPEAKER: Co? 361 00:14:55,600 --> 00:14:56,660 Segfault? 362 00:14:56,660 --> 00:14:58,520 To je dobrý odhad. 363 00:14:58,520 --> 00:14:59,430 Tom říká to samé. 364 00:14:59,430 --> 00:15:02,240 Jakékoliv jiné odhady? 365 00:15:02,240 --> 00:15:05,260 >> Kdo si myslí, že to bude dělat to samé? 366 00:15:05,260 --> 00:15:06,510 Kdo si myslí, že to bude segfault? 367 00:15:06,510 --> 00:15:09,350 368 00:15:09,350 --> 00:15:10,230 To dělá totéž. 369 00:15:10,230 --> 00:15:11,880 Promiňte. 370 00:15:11,880 --> 00:15:13,860 >> Ale, samozřejmě, jsme dali v 1. a 2.. 371 00:15:13,860 --> 00:15:16,470 A to jsou oba platné, že jo? 372 00:15:16,470 --> 00:15:19,420 Pojďme se podívat, můžeme jít na druhé místo z pole. 373 00:15:19,420 --> 00:15:24,010 Ale co když jsme b záporné číslo? 374 00:15:24,010 --> 00:15:26,380 To je asi lepší odhad na něco segfaulting. 375 00:15:26,380 --> 00:15:30,310 376 00:15:30,310 --> 00:15:32,260 Je to stále funguje. 377 00:15:32,260 --> 00:15:35,020 >> OK, to je teď šílený. 378 00:15:35,020 --> 00:15:38,350 To je stejně platné funkci SUMA. 379 00:15:38,350 --> 00:15:40,470 To dělá přesně stejnou věc jak vrátit a b.. 380 00:15:40,470 --> 00:15:44,600 Může mi někdo vysvětlit, proč je to dobré součet funkce, nebo proč to funguje? 381 00:15:44,600 --> 00:15:45,850 Co se tu děje? 382 00:15:45,850 --> 00:15:49,360 383 00:15:49,360 --> 00:15:55,750 Proč to dělat přesně stejný něco jako naše stará funkce sum? 384 00:15:55,750 --> 00:15:56,890 [? Akshar,?] 385 00:15:56,890 --> 00:15:58,155 co se děje? 386 00:15:58,155 --> 00:16:01,540 >> DIVÁKŮ: Vzhledem k tomu, když máte to je adresa, na 387 00:16:01,540 --> 00:16:03,950 místo v paměti - 388 00:16:03,950 --> 00:16:07,910 a když to uděláte ampersand, je jde do této paměti adresu. 389 00:16:07,910 --> 00:16:13,610 A když jdete na b, jsi trochu pohybující se kroky z této adresy paměti, 390 00:16:13,610 --> 00:16:15,550 vracíte, že. 391 00:16:15,550 --> 00:16:20,083 Takže jste vlastně, ve skutečnosti, Přidání a b [neslyšitelné]. 392 00:16:20,083 --> 00:16:23,300 393 00:16:23,300 --> 00:16:26,222 Tam, kde jsou standardní operace Na tomto návratu? 394 00:16:26,222 --> 00:16:27,683 Stejně jako, kde závorky podzim? 395 00:16:27,683 --> 00:16:30,610 Je návrat na adresu uvedenou na před nebo po [neslyšitelné]? 396 00:16:30,610 --> 00:16:32,380 >> SPEAKER: Bude to index do b - 397 00:16:32,380 --> 00:16:34,430 nebo index do - a pak zpáteční adresu. 398 00:16:34,430 --> 00:16:38,800 399 00:16:38,800 --> 00:16:41,340 OK, takže to všichni pochopili co [? Akshar?] 400 00:16:41,340 --> 00:16:45,830 řekl a vysvětlil, proč to funguje? 401 00:16:45,830 --> 00:16:49,430 Nechtěl jsem, poprvé, když někdo vysvětlil mi to. 402 00:16:49,430 --> 00:16:51,900 By někdo chtěl obrázek to vysvětlit? 403 00:16:51,900 --> 00:16:55,320 Chystáme se nakreslit obrázek s žádné značky, to je skvělé. 404 00:16:55,320 --> 00:16:57,920 Nalezeno některé z nich. 405 00:16:57,920 --> 00:17:03,390 >> Takže máme celou řadu, který je série krabic. 406 00:17:03,390 --> 00:17:07,160 407 00:17:07,160 --> 00:17:13,710 První z nich je index 0, index 1, 2, 3, 4, tečka, tečka, tečka. 408 00:17:13,710 --> 00:17:15,609 Typický pole. 409 00:17:15,609 --> 00:17:19,540 A kromě toho, že indexy, všichni mají adresy paměti. 410 00:17:19,540 --> 00:17:30,190 Takže pojďme dát tuto adresu paměti 13, 14, 15, 16, 17, a tak dále. 411 00:17:30,190 --> 00:17:32,490 Všichni to tady tak daleko. 412 00:17:32,490 --> 00:17:35,810 >> Takže je adresa. 413 00:17:35,810 --> 00:17:38,850 Název pole, ukazatel je uložen tam. 414 00:17:38,850 --> 00:17:42,730 Je to ukazatel, že je to místo v paměti, na začátek pole. 415 00:17:42,730 --> 00:17:45,910 Takže pokud to bylo pole, by se hodnota 13. 416 00:17:45,910 --> 00:17:49,110 A, samozřejmě, můžeme dát všechny hodnoty chceme. 417 00:17:49,110 --> 00:17:52,450 Char hvězda, můžeme dát jakýkoli adresa paměti chceme. 418 00:17:52,450 --> 00:17:55,940 Můžeme dát 0, můžeme dát Negativní 1 - 1 negativní neexistuje, 419 00:17:55,940 --> 00:17:58,820 tak to je asi problematické, ale jste viděli, že to ještě fungovalo. 420 00:17:58,820 --> 00:18:03,070 Takže můžeme dát libovolný počet chceme, každá adresa paměti chceme. 421 00:18:03,070 --> 00:18:08,720 >> Poté, int b říká, OK, přejděte toto číslo z kroků do pole. 422 00:18:08,720 --> 00:18:13,150 Takže v případě, b se rovná 2, a se rovná 13, Jsme na adresu paměti 13. 423 00:18:13,150 --> 00:18:17,330 A jdeme dva kroky, a proto jsme tady. 424 00:18:17,330 --> 00:18:21,150 A ampersand znamená návrat adresu tohoto místa. 425 00:18:21,150 --> 00:18:23,990 A adresa, samozřejmě, 15. 426 00:18:23,990 --> 00:18:28,710 Tak jsme si 13 plus 2, nebo a b, což je 15. 427 00:18:28,710 --> 00:18:29,590 >> Otázkou je, i když - 428 00:18:29,590 --> 00:18:30,250 Je mi to líto. 429 00:18:30,250 --> 00:18:34,324 Znamená to, že objasnění věci, proč to funguje? 430 00:18:34,324 --> 00:18:36,300 >> DIVÁKŮ: Proč by to fungovat bude - 431 00:18:36,300 --> 00:18:38,770 takže můžete mít celou řadu a jít na negativní index? 432 00:18:38,770 --> 00:18:39,050 >> SPEAKER: Správně. 433 00:18:39,050 --> 00:18:40,870 Takže jsme udělali záporná čísla, tak to je - 434 00:18:40,870 --> 00:18:42,770 to smysl i když, první, [? Avi,?] 435 00:18:42,770 --> 00:18:43,120 pro vás? 436 00:18:43,120 --> 00:18:48,840 >> DIVÁKŮ: Jo, já jsem jen [Neslyšitelné], ale - 437 00:18:48,840 --> 00:18:50,440 >> SPEAKER: Jo, to by se vrátit 15. 438 00:18:50,440 --> 00:18:53,523 Pokud byl 13, a b je 2, To by se vrátit 15. 439 00:18:53,523 --> 00:18:58,160 >> DIVÁKŮ: Tak indexování nula není se stal problém, ne? 440 00:18:58,160 --> 00:19:00,160 Vzhledem k tomu, že jste v pohybu od 0. 441 00:19:00,160 --> 00:19:00,470 >> SPEAKER: Správně. 442 00:19:00,470 --> 00:19:05,000 Takže jste v pohybu - takže pokud b je 0, byste se pohybovat kdekoli. 443 00:19:05,000 --> 00:19:06,330 A vy byste se právě vrátili adresu - 444 00:19:06,330 --> 00:19:10,830 pokud b je 0, to je v podstatě vrací, aby adresu. 445 00:19:10,830 --> 00:19:13,960 Předávání v char hvězdy A a vrácení Adresa je jen vrací, 446 00:19:13,960 --> 00:19:15,860 v podstatě. 447 00:19:15,860 --> 00:19:18,280 >> OK, otázkou je, proč záporná čísla fungují? 448 00:19:18,280 --> 00:19:21,670 A to je opravdu super věc, o to, protože to by mělo segfault. 449 00:19:21,670 --> 00:19:25,110 A to by segfault kdybychom udělal něco takového. 450 00:19:25,110 --> 00:19:28,050 451 00:19:28,050 --> 00:19:29,300 Řekněme, int. 452 00:19:29,300 --> 00:19:34,390 453 00:19:34,390 --> 00:19:39,810 Takže tento kód vypadá stejně a by se měli chovat stejně. 454 00:19:39,810 --> 00:19:44,550 V podstatě, x je proměnná odpadky, a tak by to mělo chovat stejně. 455 00:19:44,550 --> 00:19:46,370 >> Pojďme udělat tohle - 456 00:19:46,370 --> 00:19:47,620 oops - 457 00:19:47,620 --> 00:19:54,790 458 00:19:54,790 --> 00:19:56,040 v zapojení do hvězdy. 459 00:19:56,040 --> 00:19:59,160 460 00:19:59,160 --> 00:20:02,733 OK, jsme už dostat chyby tady, , protože to už bude zlobit 461 00:20:02,733 --> 00:20:04,610 na mě, protože již ví, co přijde. 462 00:20:04,610 --> 00:20:07,060 Zejména druhý. 463 00:20:07,060 --> 00:20:09,800 Adresa naskládaných paměti spojené s lokální proměnné. 464 00:20:09,800 --> 00:20:14,220 >> V podstatě, nehodlám kompilovat to, a pak jdu vrátit dělat 465 00:20:14,220 --> 00:20:14,920 to, co jsme právě udělali. 466 00:20:14,920 --> 00:20:19,130 Ale protože jsme vlastně nikdy přístupu, co je v paměti 467 00:20:19,130 --> 00:20:21,930 umístění, to nebude segfault. 468 00:20:21,930 --> 00:20:26,450 Jsme vlastně nikdy při pohledu na to, co je V druhém boxu nebo to, co je v každé krabice 469 00:20:26,450 --> 00:20:28,340 tohoto pole. 470 00:20:28,340 --> 00:20:30,980 Jsme jen řekl, tady je adresa o věc hledáme a 471 00:20:30,980 --> 00:20:32,410 vrátit tuto adresu. 472 00:20:32,410 --> 00:20:35,700 Jsme vlastně nikdy jít do pole, aby se na tomto místě. 473 00:20:35,700 --> 00:20:39,140 A protože jsme se nikdy nedotýkejte paměti, nemáme dostat do problémů. 474 00:20:39,140 --> 00:20:40,760 Nemáme si segfault. 475 00:20:40,760 --> 00:20:46,225 >> Pokud bychom se snažili znovu, dotkněte se, že paměť, dotkněte se to, co bylo na a nebo b - 476 00:20:46,225 --> 00:20:49,940 nebo držák b, a za předpokladu, že byla 0 a - 477 00:20:49,940 --> 00:20:53,040 pokud byla 0, i, že by bylo docela špatné, protože nemůžeme jít 478 00:20:53,040 --> 00:20:54,090 se všemi tam cestě. 479 00:20:54,090 --> 00:20:58,250 Je-li A a B jsou oba 0, a my jsme se snažili dotknout se, co tam bylo, pak bychom 480 00:20:58,250 --> 00:20:59,110 dostat do problémů. 481 00:20:59,110 --> 00:21:02,160 Ale pokud se nedotýkejte, co je tam, prostě zpáteční adresu, je 482 00:21:02,160 --> 00:21:08,300 ve skutečnosti nebude segfault, protože To vám umožní provádět tyto operace. 483 00:21:08,300 --> 00:21:11,920 To dostane jen na tebe naštvaná, a dostane Super zlobit, když se pokusíte a dotknout se 484 00:21:11,920 --> 00:21:15,740 skutečné paměti a vrátí to, co je v této paměti. 485 00:21:15,740 --> 00:21:17,690 >> Má to smysl? 486 00:21:17,690 --> 00:21:24,820 To je prostě šílené a část C. Takže, máme jeden z nich. 487 00:21:24,820 --> 00:21:27,760 488 00:21:27,760 --> 00:21:29,700 >> Kdo si myslí, že je to v pohodě? 489 00:21:29,700 --> 00:21:30,280 Stále více lidí. 490 00:21:30,280 --> 00:21:31,070 To je dobře. 491 00:21:31,070 --> 00:21:34,860 OK, tohle je naše poslední. 492 00:21:34,860 --> 00:21:37,314 A rád bych, abyste mi říci, zda nebo ne si myslíte, že toto se děje 493 00:21:37,314 --> 00:21:38,564 dělat přesně stejný věc. 494 00:21:38,564 --> 00:22:06,050 495 00:22:06,050 --> 00:22:07,390 >> Jsem to napsal někam. 496 00:22:07,390 --> 00:22:08,640 Nebudu je zapamatování. 497 00:22:08,640 --> 00:22:33,350 498 00:22:33,350 --> 00:22:42,900 >> Pojďme se podívat, 8, b 4, 4, 2, 4, 0, 8, 0, 3, 4, 4, 2, 4, 0, 4. 499 00:22:42,900 --> 00:22:46,670 Tak to je pole, teď, není funkce. 500 00:22:46,670 --> 00:22:49,640 A je to pole, protože máme náměstí držáky, ne složené závorky. 501 00:22:49,640 --> 00:22:52,360 A je to pole, jaký typ? 502 00:22:52,360 --> 00:22:55,540 503 00:22:55,540 --> 00:22:56,862 Každý, hmm? 504 00:22:56,862 --> 00:22:57,694 >> DIVÁKŮ: Jejich hexadecimální čísla? 505 00:22:57,694 --> 00:22:59,650 >> SPEAKER: Ale co je to typ C? 506 00:22:59,650 --> 00:23:00,710 Ti všichni mají hexadecimální čísla. 507 00:23:00,710 --> 00:23:01,960 Co je to typ C? 508 00:23:01,960 --> 00:23:04,730 509 00:23:04,730 --> 00:23:05,480 To vám řekne. 510 00:23:05,480 --> 00:23:07,350 >> DIVÁKŮ: Je to nepodepsané znaků. 511 00:23:07,350 --> 00:23:09,170 >> SPEAKER: vpravo, bez znaménka znaků. 512 00:23:09,170 --> 00:23:13,050 A dvě hexadecimální čísla je jeden bajt. 513 00:23:13,050 --> 00:23:18,540 To jsou 1, 2, 3, 4, 5, 6, 7, 8, 9 bytů. 514 00:23:18,540 --> 00:23:21,360 Je to řada z 9 bytů. 515 00:23:21,360 --> 00:23:25,530 >> OK, jste si pravděpodobně již víte, odpověď na tuto otázku. 516 00:23:25,530 --> 00:23:29,840 Ale, co si myslíte, že bude stane, když jsem spustit tento? 517 00:23:29,840 --> 00:23:34,110 Říkám znovu, v mysum.c, Čekám funkci 518 00:23:34,110 --> 00:23:36,280 že trvá dvě celá čísla. 519 00:23:36,280 --> 00:23:40,265 A já místo toho říká, že tato částka je pole znaků. 520 00:23:40,265 --> 00:23:42,780 521 00:23:42,780 --> 00:23:48,070 Co se stane, když I spusťte. / Mysum a dělat? 522 00:23:48,070 --> 00:23:53,230 >> No, za prvé, většina z vás bude pravděpodobně Souhlasíte s tím, že make - ach ne, dělám si srandu. 523 00:23:53,230 --> 00:23:54,746 Co jsem udělal špatně? 524 00:23:54,746 --> 00:23:55,996 Uh oh. 525 00:23:55,996 --> 00:23:59,220 526 00:23:59,220 --> 00:24:01,160 To by mělo být složené závorky. 527 00:24:01,160 --> 00:24:02,790 To je, jak inicializovat pole. 528 00:24:02,790 --> 00:24:04,040 Moje chyba. 529 00:24:04,040 --> 00:24:07,530 530 00:24:07,530 --> 00:24:11,670 >> Takže jsme již viděli dříve, než že typy jsou abstrakce C-úrovni, a to 531 00:24:11,670 --> 00:24:12,610 Úroveň počítačové abstrakce. 532 00:24:12,610 --> 00:24:16,360 Takže většina z vás pravděpodobně očekává, že se dělat, nebo za předpokladu, že by bylo. 533 00:24:16,360 --> 00:24:18,680 Ale co když jsem běžet. / Mysum? 534 00:24:18,680 --> 00:24:19,930 Co se bude dít? 535 00:24:19,930 --> 00:24:21,790 536 00:24:21,790 --> 00:24:23,422 Jakékoli odhady? 537 00:24:23,422 --> 00:24:25,270 >> DIVÁKŮ: Bude to vytisknout slovo. 538 00:24:25,270 --> 00:24:26,310 >> SPEAKER: Bude to vytisknout slovo. 539 00:24:26,310 --> 00:24:29,335 Jaké slovo? 540 00:24:29,335 --> 00:24:32,200 >> DIVÁKŮ: [neslyšitelné]. 541 00:24:32,200 --> 00:24:33,240 >> SPEAKER: Jakékoliv jiné odhady? 542 00:24:33,240 --> 00:24:34,000 OK, vytisknout frázi. 543 00:24:34,000 --> 00:24:35,130 Můžete mít jakýkoliv výraz. 544 00:24:35,130 --> 00:24:36,240 To bude vaše strana. 545 00:24:36,240 --> 00:24:38,480 Každý, kdo má jiný hádat? 546 00:24:38,480 --> 00:24:39,730 Anna, jaký je váš odhad? 547 00:24:39,730 --> 00:24:42,675 548 00:24:42,675 --> 00:24:44,615 >> DIVÁKŮ: Bude vytisknout - 549 00:24:44,615 --> 00:24:47,525 550 00:24:47,525 --> 00:24:49,480 dva dopisy, nebo [neslyšitelný] jedno písmeno. 551 00:24:49,480 --> 00:24:51,460 >> SPEAKER: Jeden dopis. 552 00:24:51,460 --> 00:24:53,260 >> DIVÁKŮ: Mohu počítat jak mnoho [neslyšitelný]? 553 00:24:53,260 --> 00:24:55,426 >> SPEAKER: Nine. 554 00:24:55,426 --> 00:24:56,640 No, budu se jej spustit. 555 00:24:56,640 --> 00:24:58,650 To dělá přesně stejný věc. 556 00:24:58,650 --> 00:25:00,190 Dodává dvě čísla dohromady. 557 00:25:00,190 --> 00:25:02,740 Dobře, pojďme projít dva argumenty. 558 00:25:02,740 --> 00:25:03,710 Neznamená to však trvat argumenty. 559 00:25:03,710 --> 00:25:06,080 Takže nevím, kde by to mohlo možná si tyto argumenty. 560 00:25:06,080 --> 00:25:07,710 Ale pojďme se projít na 100 a 0. 561 00:25:07,710 --> 00:25:09,200 A dodává 100 a 0. 562 00:25:09,200 --> 00:25:10,220 To je šílené. 563 00:25:10,220 --> 00:25:12,280 Myslím, že ano. 564 00:25:12,280 --> 00:25:14,480 >> Negativní 4, který funguje taky. 565 00:25:14,480 --> 00:25:15,650 Můžete dělat, co chcete. 566 00:25:15,650 --> 00:25:17,920 To je stejně platný funkce sum. 567 00:25:17,920 --> 00:25:19,640 To je funkce sum. 568 00:25:19,640 --> 00:25:21,510 Ale ne, vy říkáte, že je to pole bajtů. 569 00:25:21,510 --> 00:25:23,570 Takže, co se to tu děje? 570 00:25:23,570 --> 00:25:27,240 >> Takže, ještě jednou, vraťme se k této myšlence že jsme si řekli na začátku. 571 00:25:27,240 --> 00:25:32,050 Jdete z kódu C-úrovni, až po montáž jazyk, do jedniček a nul. 572 00:25:32,050 --> 00:25:33,050 To je hexadecimální. 573 00:25:33,050 --> 00:25:35,780 Ale to je opravdu jen Hodně jedniček a nul. 574 00:25:35,780 --> 00:25:39,230 To je 72 jedničky a nuly, ne? 575 00:25:39,230 --> 00:25:40,550 72 z nich a nuly. 576 00:25:40,550 --> 00:25:42,160 9 bajtů. 577 00:25:42,160 --> 00:25:43,740 Každý byte je 8 bitů. 578 00:25:43,740 --> 00:25:44,760 Každý bit je jedna nebo nula. 579 00:25:44,760 --> 00:25:45,920 Takže 72 z nich nebo nuly. 580 00:25:45,920 --> 00:25:48,780 Já jsem právě napsal je takhle - spíše než psát to jako hodně 581 00:25:48,780 --> 00:25:49,730 jedničky a nuly. 582 00:25:49,730 --> 00:25:53,560 >> Ale to půjde z C-úrovně jazyk, až po montáž 583 00:25:53,560 --> 00:25:54,620 jazyka, kódu. 584 00:25:54,620 --> 00:25:59,020 A to se bude tisknout v kódu, Někde v těchto 72 jedničky a nuly 585 00:25:59,020 --> 00:26:00,910 že jsem napsal tu jsem. 586 00:26:00,910 --> 00:26:03,610 Takže někde v tom, že - 587 00:26:03,610 --> 00:26:04,850 pojďme zde - 588 00:26:04,850 --> 00:26:11,240 někde v mysum, program, tam jsou tyto 72 jedničky a nuly, které jsem 589 00:26:11,240 --> 00:26:14,930 napsal a řekl ji psát. 590 00:26:14,930 --> 00:26:19,331 >> Nyní, žádné odhady pro to, co ty, 72 z nich a nuly znamenají? 591 00:26:19,331 --> 00:26:21,240 >> DIVÁKŮ: Pravděpodobně stejný věc, jako vrátit a navíc b.. 592 00:26:21,240 --> 00:26:22,890 >> SPEAKER: Pravděpodobně stejný věc, jako vrátit a navíc b.. 593 00:26:22,890 --> 00:26:23,730 Pojďme ověřit, že. 594 00:26:23,730 --> 00:26:25,210 Pojďme zjistit, jak jsem to udělal. 595 00:26:25,210 --> 00:26:31,840 >> Takže pokud jste se vrátit sem, řeknu vám Ke spuštění tohoto příkazu, objdump-S 596 00:26:31,840 --> 00:26:34,290 sumfunction.o. 597 00:26:34,290 --> 00:26:36,230 Pojďme spusťte jej. objdump - 598 00:26:36,230 --> 00:26:37,990 obj, dump. 599 00:26:37,990 --> 00:26:39,840 V podstatě mi to může dát co chci vidět. 600 00:26:39,840 --> 00:26:40,840 To mi může dát assembleru. 601 00:26:40,840 --> 00:26:42,730 To mi může dát jedničky a nuly. 602 00:26:42,730 --> 00:26:43,840 To má spoustu příznaků. 603 00:26:43,840 --> 00:26:45,860 To je jeden jedeme použít pro teď. 604 00:26:45,860 --> 00:26:46,980 Dot - 605 00:26:46,980 --> 00:26:48,810 jak vidíte na snímcích - 606 00:26:48,810 --> 00:26:53,840 pomlčka kapitál S říká, intersperse, Zdrojový kód - 607 00:26:53,840 --> 00:26:58,410 tento řádek je od C - s montáží kód a s jedniček a nul. 608 00:26:58,410 --> 00:27:00,350 A jdeme na běh to na sumfunction.o. 609 00:27:00,350 --> 00:27:01,410 Vzhledem k tomu, že to bude lépe vidět. 610 00:27:01,410 --> 00:27:02,670 Opět - hmm? 611 00:27:02,670 --> 00:27:04,700 >> DIVÁKŮ: hláskoval jsi to špatně. 612 00:27:04,700 --> 00:27:05,930 >> SPEAKER: Ale já jsem vlastně děje aby si ji pročistil za sekundu. 613 00:27:05,930 --> 00:27:09,160 Já jsem první otevřu jen sumfuntion.o. 614 00:27:09,160 --> 00:27:11,170 >> DIVÁKŮ: hláskoval Můžete jej špatný poprvé. 615 00:27:11,170 --> 00:27:12,420 >> SPEAKER: Classic. 616 00:27:12,420 --> 00:27:14,790 617 00:27:14,790 --> 00:27:15,480 Sum - 618 00:27:15,480 --> 00:27:16,680 že je těžké slovo, ačkoli. 619 00:27:16,680 --> 00:27:19,050 To byste se divila. 620 00:27:19,050 --> 00:27:21,560 OK, takže to je sumfunction.o. 621 00:27:21,560 --> 00:27:24,494 622 00:27:24,494 --> 00:27:26,220 Nemohl jsem ani říct. 623 00:27:26,220 --> 00:27:30,250 Je tu spousta nul, jasně hodně nul, a tam je nějaký jiný 624 00:27:30,250 --> 00:27:31,930 věci, to není nuly. 625 00:27:31,930 --> 00:27:33,220 Ale většinou nuly. 626 00:27:33,220 --> 00:27:35,120 Vypadá to, že některé z nich. 627 00:27:35,120 --> 00:27:36,810 Tak jasně, je to těžké číst. 628 00:27:36,810 --> 00:27:39,320 To je binární jazyk. 629 00:27:39,320 --> 00:27:40,710 >> Pojďme nyní otevřít - 630 00:27:40,710 --> 00:27:50,190 631 00:27:50,190 --> 00:27:52,350 co? 632 00:27:52,350 --> 00:27:53,600 Co dělám špatně? 633 00:27:53,600 --> 00:27:56,955 634 00:27:56,955 --> 00:27:58,434 Už jsem to píše správně? 635 00:27:58,434 --> 00:28:09,865 636 00:28:09,865 --> 00:28:11,120 OK, je to trapné. 637 00:28:11,120 --> 00:28:37,560 638 00:28:37,560 --> 00:28:40,158 Musím jednu sekundu přijít z toho, co dělám špatně. 639 00:28:40,158 --> 00:28:46,030 640 00:28:46,030 --> 00:28:49,310 To je jedna chyba. 641 00:28:49,310 --> 00:28:50,560 To je divné. 642 00:28:50,560 --> 00:28:58,080 643 00:28:58,080 --> 00:29:01,800 Oh, to je důvod, proč. 644 00:29:01,800 --> 00:29:09,880 >> Chystám se vrátit k naší počáteční jeden, takže se můžeme podívat na 645 00:29:09,880 --> 00:29:10,560 strojového kódu to. 646 00:29:10,560 --> 00:29:13,390 Vzhledem k tomu, že to opravdu bude být něco, když jsme jen dát 647 00:29:13,390 --> 00:29:14,640 ty a nuly v. 648 00:29:14,640 --> 00:29:29,000 649 00:29:29,000 --> 00:29:30,200 Tam jdeme. 650 00:29:30,200 --> 00:29:32,425 OK, takže každý může vidět. 651 00:29:32,425 --> 00:29:38,130 Tato funkce, jak už jsem řekl, uhasit linky C - 652 00:29:38,130 --> 00:29:39,060 řádky kódu zdroj - 653 00:29:39,060 --> 00:29:41,000 s některými montážními pokyny. 654 00:29:41,000 --> 00:29:42,760 >> Zde je náš zdrojový kód řádek. 655 00:29:42,760 --> 00:29:44,910 Tady je jeden, tady je další. 656 00:29:44,910 --> 00:29:46,540 Zde je návod montáže. 657 00:29:46,540 --> 00:29:47,820 To je to, jak vypadají. 658 00:29:47,820 --> 00:29:49,010 Montážní návod - 659 00:29:49,010 --> 00:29:51,530 se můžete dozvědět více z nich, pokud budete mít jiných tříd CS, ale jsou 660 00:29:51,530 --> 00:29:53,500 obecně instrukce. 661 00:29:53,500 --> 00:29:57,940 A pak zdroj a cíl. 662 00:29:57,940 --> 00:30:02,740 >> A pak tady je binární kód , která odpovídá této sestavě 663 00:30:02,740 --> 00:30:04,940 instrukce. 664 00:30:04,940 --> 00:30:09,760 Takže jak vidíte, tato funkce sum, Na konci dne, je tři 665 00:30:09,760 --> 00:30:10,950 návod na montáž. 666 00:30:10,950 --> 00:30:12,870 Pouze tři. 667 00:30:12,870 --> 00:30:14,180 Jeden mov - 668 00:30:14,180 --> 00:30:16,740 Tento m-o-v znamená tahu. 669 00:30:16,740 --> 00:30:17,780 Přidat stojany na Přidat. 670 00:30:17,780 --> 00:30:20,440 A r-e-t znamená návrat. 671 00:30:20,440 --> 00:30:22,540 Takže jeden mov, jeden doplněk, jedna zpáteční. 672 00:30:22,540 --> 00:30:27,970 A tohle, tady, jsou nuly a ty, které odpovídají tomuto kódu. 673 00:30:27,970 --> 00:30:31,100 >> Takže ty nuly a ty, pokud jste vím, ty, stačí dát 674 00:30:31,100 --> 00:30:32,140 ty rovně dovnitř 675 00:30:32,140 --> 00:30:34,130 A pak to udělám Totéž přesně věc. 676 00:30:34,130 --> 00:30:37,260 Vzhledem k tomu,, na konci dne, vše jste provedení je dlouhá série 677 00:30:37,260 --> 00:30:38,480 nuly a ty. 678 00:30:38,480 --> 00:30:40,700 A to je to, co skutečně je váš kód. 679 00:30:40,700 --> 00:30:41,770 >> A důvod - 680 00:30:41,770 --> 00:30:43,680 Pojďme se podívat na jednu věc. 681 00:30:43,680 --> 00:30:45,440 Už jsem si Makefile otevřená? 682 00:30:45,440 --> 00:30:48,510 Takže když jsme se vrátili do pomlčka nula, nula sem - 683 00:30:48,510 --> 00:30:52,220 684 00:30:52,220 --> 00:30:57,300 Omlouvám se, kapitál o kapitál o nulu, není nula, nula. 685 00:30:57,300 --> 00:31:01,810 A my to dělat, by to stále fungují stejně. 686 00:31:01,810 --> 00:31:05,420 Ale teď, zjistíte, že existují mnohem více montážní návod. 687 00:31:05,420 --> 00:31:09,090 To je proto, že opět, zeptal jsem se kompilátor nemůže dělat žádné optimalizace. 688 00:31:09,090 --> 00:31:12,800 >> Takže jsem mohl ještě vzít všechny tyto nuly a ty, a házet je do, 689 00:31:12,800 --> 00:31:13,390 a to by mohlo fungovat. 690 00:31:13,390 --> 00:31:15,850 Jen jsem udělal, že optimalizace, protože je to trochu jednodušší, pak, 691 00:31:15,850 --> 00:31:17,310 napsat, že pole. 692 00:31:17,310 --> 00:31:19,730 Ale to by fungovat stejně dobře. 693 00:31:19,730 --> 00:31:24,460 >> OK, jdeme udělat jednu poslední věc, protože si myslím, je nejlepší část. 694 00:31:24,460 --> 00:31:27,410 I když každý je jasně již foukané a němý. 695 00:31:27,410 --> 00:31:30,520 696 00:31:30,520 --> 00:31:31,670 Naše mysl je spálená. 697 00:31:31,670 --> 00:31:32,920 [Neslyšitelný] 698 00:31:32,920 --> 00:31:47,580 699 00:31:47,580 --> 00:31:51,520 >> Tak, to je z jiné třídy CS, což je velmi zajímavé, 700 00:31:51,520 --> 00:31:52,970 že jsem se - 701 00:31:52,970 --> 00:31:54,140 CS61. 702 00:31:54,140 --> 00:31:55,910 Vřele doporučuji udělat si jej. 703 00:31:55,910 --> 00:31:58,990 Ale v pohodě část o této skutečnosti, že věci jsou jen nuly a ty, 704 00:31:58,990 --> 00:32:01,270 je, že vše, co je nuly a ty. 705 00:32:01,270 --> 00:32:05,330 >> Takže si můžete vzít soubor, který má správné nuly a ty, které chcete 706 00:32:05,330 --> 00:32:10,390 někde v něm, a použít tuto část nuly a ty jako funkce sum. 707 00:32:10,390 --> 00:32:11,480 >> Co tím chci říct, že? 708 00:32:11,480 --> 00:32:15,755 Myslím si můžete vzít obrazový soubor, který má správnou řadu nul a 709 00:32:15,755 --> 00:32:17,120 ty, které tisknou něco se na obrázek. 710 00:32:17,120 --> 00:32:20,070 A jeden program může interpretovat je obrázek, ale můžete interpretovat jej, pokud 711 00:32:20,070 --> 00:32:22,040 Chcete-jako funkci SUMA. 712 00:32:22,040 --> 00:32:27,010 >> Takže pokud bychom chtěli otevřít, pro Například tento obrázek. 713 00:32:27,010 --> 00:32:37,440 Pojďme, Hello Kitty. 714 00:32:37,440 --> 00:32:38,810 Úžasný malý obrázek. 715 00:32:38,810 --> 00:32:42,260 V tady je to, že řetězec nul a ty. 716 00:32:42,260 --> 00:32:45,500 Tyto 72 nul a ty existují v tomto snímku. 717 00:32:45,500 --> 00:32:47,695 >> Takže co se dá dělat, pak je napsat - 718 00:32:47,695 --> 00:32:50,510 719 00:32:50,510 --> 00:32:51,760 Musím si vzpomenout, kde jsou. 720 00:32:51,760 --> 00:32:54,550 721 00:32:54,550 --> 00:32:55,720 Najdu, že ve vteřině. 722 00:32:55,720 --> 00:32:57,840 Ale my - 723 00:32:57,840 --> 00:32:59,440 dovolte mi, abych zjistil, kde jsou. 724 00:32:59,440 --> 00:33:00,020 Jeden sec. 725 00:33:00,020 --> 00:33:01,270 Pojďme udělat - 726 00:33:01,270 --> 00:33:05,800 727 00:33:05,800 --> 00:33:07,240 >> DIVÁKŮ: [neslyšitelné]. 728 00:33:07,240 --> 00:33:08,490 >> SPEAKER: Díky. 729 00:33:08,490 --> 00:33:24,240 730 00:33:24,240 --> 00:33:28,740 Takže pokud bychom spustit tento program, který místo toho přečte v souboru, pak to jde 731 00:33:28,740 --> 00:33:33,160 tohoto indexu v souboru. 732 00:33:33,160 --> 00:33:35,500 A pak znovu, stejně jako mysum, vezme dvě čísla. 733 00:33:35,500 --> 00:33:41,410 Můžeme přidat čísla přesně stejné jako jsme dělali předtím, což vede k 734 00:33:41,410 --> 00:33:44,850 ukázat vám, jak to, že na konci dne, všechny tyto věci jsou 735 00:33:44,850 --> 00:33:45,350 nuly a ty. 736 00:33:45,350 --> 00:33:48,170 A to je to, jak si vybrat je interpretovat. 737 00:33:48,170 --> 00:33:50,770 >> A pokud jste skutečně vypadat na tomto obrázku - 738 00:33:50,770 --> 00:33:52,930 pojďme přiblížit trochu. 739 00:33:52,930 --> 00:33:53,720 Může to všichni vidět? 740 00:33:53,720 --> 00:33:57,570 Všimnete si tady, je tu nějaký divný rozmazání. 741 00:33:57,570 --> 00:34:00,130 742 00:34:00,130 --> 00:34:02,290 Pojďme - to je původní obrázek. 743 00:34:02,290 --> 00:34:04,540 Všimnete si, zde není šmouha. 744 00:34:04,540 --> 00:34:08,420 To je kód pro funkci sum, je to trochu šmouha právě tam. 745 00:34:08,420 --> 00:34:13,449 >> A skutečně, opět, pokud jste se dozvědět více o tom, budete si uvědomit, že tento 746 00:34:13,449 --> 00:34:18,270 Hello Kitty, který má ještě větší šmouha, má kód, který může převzít 747 00:34:18,270 --> 00:34:21,800 počítač, pokud to není chráněn přiměřeně. 748 00:34:21,800 --> 00:34:23,920 Takže můžete ve skutečnosti spustit to. 749 00:34:23,920 --> 00:34:25,380 Nebudu jej spustit hned. 750 00:34:25,380 --> 00:34:30,600 Ale můžete spustit tento Hello Kitty obraz, a to může 751 00:34:30,600 --> 00:34:32,429 převzít počítači. 752 00:34:32,429 --> 00:34:35,159 >> Tak to je vše pro demo. 753 00:34:35,159 --> 00:34:38,560 Má někdo nějaké otázky, komentáře, obavy? 754 00:34:38,560 --> 00:34:39,515 Myslím, že tohle je fascinující. 755 00:34:39,515 --> 00:34:41,500 To mě inspirovalo dozvědět se více. 756 00:34:41,500 --> 00:34:44,980 Vřele doporučuji, pokud máte zájem vůbec na CS, mluv se mnou. 757 00:34:44,980 --> 00:34:50,250 I když jsem si a sociálních studií Koncentrátor, jsem CS, sekundární, tak 758 00:34:50,250 --> 00:34:52,340 Pořád vím, trochu. 759 00:34:52,340 --> 00:34:53,810 Ale já určitě vím, co třídy, měli byste vzít. 760 00:34:53,810 --> 00:34:57,940 Myslím, že je to opravdu zajímavé, a vyzývám vás, samozřejmě, na 761 00:34:57,940 --> 00:35:00,330 dozvědět se více, pokud máte zájem. 762 00:35:00,330 --> 00:35:02,090 >> OK, mám jednu poslední věc. 763 00:35:02,090 --> 00:35:05,530 764 00:35:05,530 --> 00:35:05,870 Promiňte. 765 00:35:05,870 --> 00:35:06,460 Jakékoliv dotazy? 766 00:35:06,460 --> 00:35:10,010 Nechtěl jsem pauzu čekat, jestli někdo měl nějaké otázky o tom. 767 00:35:10,010 --> 00:35:13,220 768 00:35:13,220 --> 00:35:16,900 >> Je někdo bude Koncentrátor CS? 769 00:35:16,900 --> 00:35:18,580 Nebo o tom přemýšlet? 770 00:35:18,580 --> 00:35:20,730 Jedna, dvě, tři, čtyři. 771 00:35:20,730 --> 00:35:21,620 One - pouze jeden. 772 00:35:21,620 --> 00:35:24,680 Anna to je jen ruka, která je zvedl autoritativně. 773 00:35:24,680 --> 00:35:27,640 774 00:35:27,640 --> 00:35:29,390 OK, to je v pohodě. 775 00:35:29,390 --> 00:35:30,110 Assam, co budeš dělat? 776 00:35:30,110 --> 00:35:33,220 >> DIVÁKŮ: [neslyšitelné]. 777 00:35:33,220 --> 00:35:33,910 >> SPEAKER: Constantine? 778 00:35:33,910 --> 00:35:34,990 >> DIVÁKŮ: Fyzika. 779 00:35:34,990 --> 00:35:36,720 >> SPEAKER: Páni, to bylo rychlé. 780 00:35:36,720 --> 00:35:40,770 Vy jste měli špatnou zkušenost v CS50? 781 00:35:40,770 --> 00:35:42,015 [Neslyšitelné], co budeš dělat? 782 00:35:42,015 --> 00:35:42,980 >> DIVÁKŮ: Nemám tušení. 783 00:35:42,980 --> 00:35:43,924 >> SPEAKER: Curt? 784 00:35:43,924 --> 00:35:45,900 >> DIVÁKŮ: Econ nebo CS. 785 00:35:45,900 --> 00:35:46,910 >> SPEAKER: Econ nebo CS. 786 00:35:46,910 --> 00:35:47,840 Tom? 787 00:35:47,840 --> 00:35:48,385 >> DIVÁKŮ: Dělám Stat. 788 00:35:48,385 --> 00:35:48,950 >> SPEAKER: Stat? 789 00:35:48,950 --> 00:35:50,100 OK. 790 00:35:50,100 --> 00:35:51,000 Co jsi zač? 791 00:35:51,000 --> 00:35:51,310 >> DIVÁKŮ: Me? 792 00:35:51,310 --> 00:35:51,750 >> SPEAKER: Jo. 793 00:35:51,750 --> 00:35:52,190 >> DIVÁKŮ: Stat. 794 00:35:52,190 --> 00:35:52,520 >> SPEAKER: Stat. 795 00:35:52,520 --> 00:35:53,500 Ach, tady jsi. 796 00:35:53,500 --> 00:35:55,200 Tome, mluvit s Alden. 797 00:35:55,200 --> 00:35:56,932 Emily, co jste? 798 00:35:56,932 --> 00:35:57,396 >> DIVÁKŮ: Biomedicínské - 799 00:35:57,396 --> 00:36:00,178 >> SPEAKER: Jste v této sekci? 800 00:36:00,178 --> 00:36:03,040 >> Diváků: Ne 801 00:36:03,040 --> 00:36:04,530 >> SPEAKER: OK, to je Emily. 802 00:36:04,530 --> 00:36:05,670 Je to můj přítel. 803 00:36:05,670 --> 00:36:10,080 Samozřejmě, že ne, že dobro přátel protože ona mi dává zabrat. 804 00:36:10,080 --> 00:36:13,223 Ty by mohly být hezčí se mi před každého, můj student - 805 00:36:13,223 --> 00:36:14,580 >> DIVÁKŮ: Dělám svou Q průvodce. 806 00:36:14,580 --> 00:36:14,870 >> SPEAKER: Opravdu? 807 00:36:14,870 --> 00:36:15,510 Uh oh. 808 00:36:15,510 --> 00:36:17,224 OK, ty jsi úžasná. 809 00:36:17,224 --> 00:36:19,380 Miluju tě tak moc. 810 00:36:19,380 --> 00:36:20,600 Ach jo. 811 00:36:20,600 --> 00:36:28,320 >> Každopádně jsem včera v noci, jako všechno - 812 00:36:28,320 --> 00:36:32,220 Jsem si jist, všichni se zdá opravdu zdůraznil právě teď. 813 00:36:32,220 --> 00:36:35,970 Nevím, je nováček - jsou vy jste ve stresu? 814 00:36:35,970 --> 00:36:36,855 Mám pocit, zdůraznil. 815 00:36:36,855 --> 00:36:37,980 Bylo to jako, jdete domů na Den díkůvzdání. 816 00:36:37,980 --> 00:36:40,660 Jsi rád, budu dělat všechny tyto věci. 817 00:36:40,660 --> 00:36:41,530 >> DIVÁKŮ: Je to tak odlišné. 818 00:36:41,530 --> 00:36:42,560 >> SPEAKER: Jo, a vrátíš. 819 00:36:42,560 --> 00:36:45,290 Jeff, nemáte pocit, že způsob, jakým? 820 00:36:45,290 --> 00:36:46,610 >> DIVÁKŮ: Jen jsem si myslel, Já bych to trochu. 821 00:36:46,610 --> 00:36:48,660 >> SPEAKER: OK, dobře. 822 00:36:48,660 --> 00:36:51,650 Tak jsem se vrátil, a nemám nic neudělal. 823 00:36:51,650 --> 00:36:53,260 A to vše velmi stresující. 824 00:36:53,260 --> 00:36:55,640 A já jsem obavy, skutečně týká, o tom, zda jsem nebo nejsem 825 00:36:55,640 --> 00:36:57,380 bude až do konce vše, co musím. 826 00:36:57,380 --> 00:37:01,750 Ale včera v noci, nebyl jsem ve stresu, Byl jsem trochu smutný. 827 00:37:01,750 --> 00:37:04,520 Tak jsem napsal ve svém deníku o co jsem byl smutný. 828 00:37:04,520 --> 00:37:08,020 A byl jsem smutný o této sekci v této třídě chýlí ke konci. 829 00:37:08,020 --> 00:37:11,100 >> Tak jsem jen tak číst pro vás malý úryvek z mého deníku, 830 00:37:11,100 --> 00:37:12,950 z minulé noci. 831 00:37:12,950 --> 00:37:17,400 Mohu dostat nějaké ubrousky, Některé tkáně z Toma? 832 00:37:17,400 --> 00:37:18,040 Ne, budu plakat. 833 00:37:18,040 --> 00:37:19,720 Nechci plakat. 834 00:37:19,720 --> 00:37:22,030 Ne, že nemůžete plakat, Já jen neplač. 835 00:37:22,030 --> 00:37:24,040 Já ani nevím, jestli moje slza žlázy pracoval - slzné kanálky. 836 00:37:24,040 --> 00:37:25,630 Jsem křičel po dlouhé době. 837 00:37:25,630 --> 00:37:26,510 >> DIVÁKŮ: [neslyšitelné]. 838 00:37:26,510 --> 00:37:28,920 >> SPEAKER: OK, díky. 839 00:37:28,920 --> 00:37:30,070 OK, je tu trochu předmluva - 840 00:37:30,070 --> 00:37:32,480 tam je nějaké jiné části mého deníku vstup, protože se snažím deníku každý 841 00:37:32,480 --> 00:37:33,600 noc předtím, než jsem se dostal do postele. 842 00:37:33,600 --> 00:37:34,900 Vřele doporučuji deníku. 843 00:37:34,900 --> 00:37:38,600 To vám pomůže zpracovat věci, a také být velmi vděčný z vašeho dne. 844 00:37:38,600 --> 00:37:43,063 A to dělá to mnohem jednodušší se podívat zpět na svůj den, a uvědomit si, že 845 00:37:43,063 --> 00:37:44,240 tam bylo hodně dobrý věci, které se stalo. 846 00:37:44,240 --> 00:37:47,240 I když se cítíte opravdu zdůraznit, v noci nebo opravdu naštvaná, nebo 847 00:37:47,240 --> 00:37:49,022 Opravdu smutný nebo unavený. 848 00:37:49,022 --> 00:37:50,272 >> Oh, můj bože. 849 00:37:50,272 --> 00:37:52,546 850 00:37:52,546 --> 00:37:54,400 Já ani nevím, jestli je to napsáno, že dobře, protože jsem neměl zkorigovat to. 851 00:37:54,400 --> 00:37:55,780 Ale my si to přečíst. 852 00:37:55,780 --> 00:37:59,950 I obvykle nemají číst mé časopis, samozřejmě. 853 00:37:59,950 --> 00:38:03,720 >> "Zítra budu učit mé poslední CS50 část roku. 854 00:38:03,720 --> 00:38:05,860 Je to šílené, jak rychle ten čas letí. 855 00:38:05,860 --> 00:38:09,900 Přesto, jsem ohromen tím, jak různé moje zkušenost učí v letošním roce byl 856 00:38:09,900 --> 00:38:11,365 než když jsem byl ve druháku. 857 00:38:11,365 --> 00:38:14,120 Pro začátek, určitě vím, materiál lépe. 858 00:38:14,120 --> 00:38:16,820 Ale neříkejte to mé první kohortu studentů, které. 859 00:38:16,820 --> 00:38:20,030 Ještě důležitější je, nicméně, jsem si uvědomil, že radost, která přichází z postavení 860 00:38:20,030 --> 00:38:23,160 v přední části místnosti, co začíná jako cizinci, ale skončí jako v 861 00:38:23,160 --> 00:38:27,150 alespoň, přátelé na Facebooku, je není první rok náhoda. 862 00:38:27,150 --> 00:38:29,970 Spíše je to z vědomí, že v některé malé způsob, pomáháte 863 00:38:29,970 --> 00:38:32,980 talentovaný, přemýšlivý, nádherný, a vášniví lidé dozvědět něco více 864 00:38:32,980 --> 00:38:34,750 o informatice. 865 00:38:34,750 --> 00:38:37,480 >> Jste přesouvá že žárovku jen bit v zásuvce, tak, že je schopna 866 00:38:37,480 --> 00:38:42,120 zářit jasněji než vy, nebo oni, by si mohl představit na začátku semestru. 867 00:38:42,120 --> 00:38:45,390 Ty pomáhají zase ty mračí vzhůru dolů a klást otázky, které 868 00:38:45,390 --> 00:38:49,240 poskytnout podporu, ale stále umožňují Studenti se postavit na vlastní pěst. 869 00:38:49,240 --> 00:38:52,190 >> Je to rozhodně není přehnané říci, že tato část je moje oblíbená 870 00:38:52,190 --> 00:38:53,190 část týdne. 871 00:38:53,190 --> 00:38:57,930 Nebo dokonce, že jsem neváhal říci, že je to vše, na 17:30 každý týden, protože věděl, 872 00:38:57,930 --> 00:39:00,640 že to bude příliš dlouho dokud se znovu setkáme. 873 00:39:00,640 --> 00:39:02,740 >> Přesto, že jsem neuvěřitelně vděčný každý, kdo mi dal to 874 00:39:02,740 --> 00:39:05,010 možnost vrátit k ostatním. 875 00:39:05,010 --> 00:39:07,340 Davidovi za jeho trpělivost a důvěru. 876 00:39:07,340 --> 00:39:11,040 K filmové a produkční posádkou, pro takže vypadám trochu slušný. 877 00:39:11,040 --> 00:39:15,380 A co je nejdůležitější, aby svým studentům, bez nichž bych mít žádný důvod k 878 00:39:15,380 --> 00:39:17,890 strávit 10 hodin přijít na to nejlepší způsob, jak kreslit odkazy, nebo vyložit 879 00:39:17,890 --> 00:39:20,330 Tabulka delfínů, přes JavaScript. 880 00:39:20,330 --> 00:39:22,620 Jako vždy, to bylo požehnání. " 881 00:39:22,620 --> 00:39:25,420 >> Takže s tím, děkuji kluci. 882 00:39:25,420 --> 00:39:29,000 Uvidíme se všichni na CS50 veletrhu, a Hackathon, jestli tam jsi. 883 00:39:29,000 --> 00:39:32,020 A pokud máte nějaké dotazy, budu se držet kolem, dokud nejsou k dispozici žádné další. 884 00:39:32,020 --> 00:39:33,760 Ale děkuji vám kluci za skvělý rok. 885 00:39:33,760 --> 00:39:37,290 >> [APPLAUSE] 886 00:39:37,290 --> 00:39:38,540 >> SPEAKER: bych mohl plakat. 887 00:39:38,540 --> 00:39:40,800