1 00:00:00,000 --> 00:00:07,700 2 00:00:07,700 --> 00:00:15,180 >> Głośnik: OK, więc, nie będzie w to uwierzyć, ale w zeszłym tygodniu, w poniedziałek, w Pierce, ja 3 00:00:15,180 --> 00:00:16,090 był w piwnicy. 4 00:00:16,090 --> 00:00:17,010 Nigdy nie idź do Pierce'a. 5 00:00:17,010 --> 00:00:20,530 I nigdy nie będę z powrotem, ponieważ Zostawiłem swoje rzeczy sam za, 6 00:00:20,530 --> 00:00:23,950 jak, pięć minut i ktoś ukradł mój komputer i mój 7 00:00:23,950 --> 00:00:26,050 telefon z mojego plecaka. 8 00:00:26,050 --> 00:00:28,780 Co oznacza, że ​​mam go z powrotem, i to mniej niż tydzień później 9 00:00:28,780 --> 00:00:30,220 że skradziono ponownie. 10 00:00:30,220 --> 00:00:31,570 >> A następnie został włączony - 11 00:00:31,570 --> 00:00:34,540 Znajdź mój iPhone nadal być bezużyteczny. 12 00:00:34,540 --> 00:00:37,340 Więc nadal zachęcać nie go używać. 13 00:00:37,340 --> 00:00:42,270 Okazało się tylko raz, i to w MIT jak 15 minut później, a osoba 14 00:00:42,270 --> 00:00:45,770 nazwał to numer telefonu, który pokazał w moim AT & T dziennika połączeń. 15 00:00:45,770 --> 00:00:48,830 >> Poszedłem więc w Internecie, zwany że telefon numer i poszedł prosto do tego 16 00:00:48,830 --> 00:00:50,540 sekretarka w języku hiszpańskim. 17 00:00:50,540 --> 00:00:52,520 A ja nie słyszałem o nim od. 18 00:00:52,520 --> 00:00:54,800 Więc musiałem dostać nowy komputer i telefon. 19 00:00:54,800 --> 00:00:55,150 Wiem. 20 00:00:55,150 --> 00:00:56,326 Tak. 21 00:00:56,326 --> 00:01:00,110 Ale jeśli chcecie chip do mojego Komputer po to fundusz, dlatego 22 00:01:00,110 --> 00:01:01,030 Poprosiłem cię tutaj. 23 00:01:01,030 --> 00:01:02,280 Tylko żartowałem. 24 00:01:02,280 --> 00:01:04,239 25 00:01:04,239 --> 00:01:07,420 Ale to było bardzo smutne i traumatyczne. 26 00:01:07,420 --> 00:01:10,700 >> Ale to wszystko z powrotem teraz, i dlatego p-set 8 tak długo, ponieważ 27 00:01:10,700 --> 00:01:12,480 Nie ma komputera. 28 00:01:12,480 --> 00:01:13,730 I ktoś go ukradł. 29 00:01:13,730 --> 00:01:16,940 I wysłałem maila z pytaniem, czy są by klasa Twojego p-set 8. 30 00:01:16,940 --> 00:01:18,790 Ale powiedzieli, że nie. 31 00:01:18,790 --> 00:01:20,000 A ja na to mogę mieć mój komputer z powrotem? 32 00:01:20,000 --> 00:01:21,270 A oni na to, nie. 33 00:01:21,270 --> 00:01:22,130 Tylko żartowałem. 34 00:01:22,130 --> 00:01:22,930 >> OK. 35 00:01:22,930 --> 00:01:28,140 To jest nasza ostatnia część, a ja mam Kilka - mamy tylko trzy 36 00:01:28,140 --> 00:01:29,790 rzeczy na porządku dziennym. 37 00:01:29,790 --> 00:01:31,330 Zamierzamy porozmawiać trochę o przewodniku Q. 38 00:01:31,330 --> 00:01:33,900 Następnie jedziemy do spędzenia 15 minut na chłodnym demo. 39 00:01:33,900 --> 00:01:36,890 Wtedy będziemy wszyscy mówią widzenia do siebie. 40 00:01:36,890 --> 00:01:41,460 Tak naprawdę nie potrzebują komputerów lub długopis i papier do notatek, lub 41 00:01:41,460 --> 00:01:42,410 podążać. 42 00:01:42,410 --> 00:01:45,620 Zakładam więc, jeśli masz komputer się, to jesteś na Facebooku. 43 00:01:45,620 --> 00:01:46,530 Tylko mówię. 44 00:01:46,530 --> 00:01:49,650 Chyba, że ​​wypełnienie Q Podręcznik, który jest pierwszy. 45 00:01:49,650 --> 00:01:50,690 >> Q Podręcznik jest otwarty. 46 00:01:50,690 --> 00:01:53,520 Masz już e-mail o tym. 47 00:01:53,520 --> 00:01:56,930 Gdy wszystkie rzeczy Q jest przedstawiony na Koniec roku, mam wszystkie 48 00:01:56,930 --> 00:02:03,710 Komentarze Q w punktacji z wszystkich kto zdecyduje się dać mi informacje zwrotne. 49 00:02:03,710 --> 00:02:04,810 I tak, gdy idziesz w Q - 50 00:02:04,810 --> 00:02:07,440 Nie wiem, czy można to zrobić, Jeff, bo jesteś studentem i rozszerzenie. 51 00:02:07,440 --> 00:02:12,730 Ale kiedy idziesz w Q, jeśli nie mają zrobił to wcześniej, wybierz swój 52 00:02:12,730 --> 00:02:14,020 Nauczyciel, który jest David Malan. 53 00:02:14,020 --> 00:02:14,970 Musisz zrobić go. 54 00:02:14,970 --> 00:02:15,690 >> A potem można odebrać TFS. 55 00:02:15,690 --> 00:02:17,750 I można odebrać jak najwięcej TF, jak chcesz. 56 00:02:17,750 --> 00:02:18,990 Ale są 60 z nas. 57 00:02:18,990 --> 00:02:20,350 Nie musisz odebrać wszystkich. 58 00:02:20,350 --> 00:02:23,090 Możesz po prostu po mnie, albo po prostu wybrać Kilka innych osób, jeśli chcesz, aby 59 00:02:23,090 --> 00:02:24,470 dać im informacji zwrotnych, jak również. 60 00:02:24,470 --> 00:02:27,595 A następnie dostać się na wszystkie te wyniki różne osie, a następnie można pozostawić 61 00:02:27,595 --> 00:02:28,570 im informacje zwrotne. 62 00:02:28,570 --> 00:02:31,520 >> A potem, jak miesiąc później, Wezmę te wszystkie opinie. 63 00:02:31,520 --> 00:02:34,570 I tak jak w razie byłeś dając mi przez cały semestr, I 64 00:02:34,570 --> 00:02:35,790 Przeczytałem wszystko. 65 00:02:35,790 --> 00:02:39,620 I to jest bardzo pomocne i pomaga mi rozwijać jako nauczyciel i jako 66 00:02:39,620 --> 00:02:40,680 indywidualnie. 67 00:02:40,680 --> 00:02:43,360 Tak więc, proszę, trochę czasu, aby to zrobić. 68 00:02:43,360 --> 00:02:45,020 Jesteśmy tylko będzie tutaj za, jak, 30 minut. 69 00:02:45,020 --> 00:02:48,090 Tak więc, jeśli potrzeba, na końcu tej, trwać pięć minut, i po prostu wypełnić 70 00:02:48,090 --> 00:02:49,960 Q, ponieważ nie bierze więcej czasu niż to. 71 00:02:49,960 --> 00:02:53,410 To byłoby wspaniałe, a także powrotem szybciej uzyskać stopnie, jeśli 72 00:02:53,410 --> 00:02:54,620 można wypełnić Q. 73 00:02:54,620 --> 00:02:56,580 >> Tak więc większość z was zrobili, że przed - 74 00:02:56,580 --> 00:02:58,240 lub nie, około połowa z was tego zrobić wcześniej. 75 00:02:58,240 --> 00:03:00,060 Ale jeśli jesteś studentem pierwszego roku, to co to jest. 76 00:03:00,060 --> 00:03:01,910 To będzie taki sam dla wszystkich warstw. 77 00:03:01,910 --> 00:03:02,270 Zrobić. 78 00:03:02,270 --> 00:03:02,900 Trwa pięć minut. 79 00:03:02,900 --> 00:03:07,610 Ale również, jeśli nie to trochę poważnie, to nie jest najgorsza rzecz, 80 00:03:07,610 --> 00:03:10,270 w świecie, bo na pewno go poważnie. 81 00:03:10,270 --> 00:03:13,000 >> Więc jeśli mi opuścić buźkę, Będę wdzięczny. 82 00:03:13,000 --> 00:03:17,550 Ale chciałbym również wdzięczni, jeśli zostawił mnie bardziej niż buźkę. 83 00:03:17,550 --> 00:03:18,270 Ale to zależy od ciebie. 84 00:03:18,270 --> 00:03:21,540 Nie mogę ci powiedzieć - lub jak duży buźkę twarz, z kapitału D. Że 85 00:03:21,540 --> 00:03:23,060 być jeszcze lepiej. 86 00:03:23,060 --> 00:03:27,860 >> OK, to jest wszystko, co mam do Q. Jeśli masz jakieś pytania, możesz poprosić 87 00:03:27,860 --> 00:03:29,370 mnie, ale dość oczywiste. 88 00:03:29,370 --> 00:03:31,090 Tylko, proszę, wypełnić go. 89 00:03:31,090 --> 00:03:34,390 Chciałbym naprawdę doceniam to, a to oznacza wiele dla mnie. 90 00:03:34,390 --> 00:03:38,910 >> OK, to jest to, co mamy zamiar spędzić 15 minut przechodzi. 91 00:03:38,910 --> 00:03:39,800 Mam zamiar pokazać wam trochę kodu. 92 00:03:39,800 --> 00:03:42,080 Myślę, że to jest naprawdę fajne, i to ma mnie więcej 93 00:03:42,080 --> 00:03:43,810 podekscytowany w informatyce. 94 00:03:43,810 --> 00:03:46,480 Więc mam nadzieję, że będzie to robić samo dla was wszystkich. 95 00:03:46,480 --> 00:03:51,760 >> Mamy zamiar otworzyć - i to wszystko Kod wyślę do Ciebie później. 96 00:03:51,760 --> 00:03:52,680 Ale my po prostu się otworzyć - 97 00:03:52,680 --> 00:03:54,310 Jestem w moim terminalu - 98 00:03:54,310 --> 00:03:56,810 zamierzamy otworzyć ten program nazywa [? MySum. ?] 99 00:03:56,810 --> 00:04:01,290 100 00:04:01,290 --> 00:04:02,540 >> Czy każdy może przeczytać, że, lub należy je powiększyć? 101 00:04:02,540 --> 00:04:07,670 102 00:04:07,670 --> 00:04:13,040 Czy ktoś może mi powiedzieć, co to kod zrobić, gdy go uruchomić, lub co to 103 00:04:13,040 --> 00:04:14,320 Program zrobi, gdy go uruchomić? 104 00:04:14,320 --> 00:04:30,710 105 00:04:30,710 --> 00:04:32,400 >> [? Avi,?] Co myślisz to zrobi? 106 00:04:32,400 --> 00:04:33,335 Wykończenie żucia. 107 00:04:33,335 --> 00:04:35,033 Nie należy rozmawiać z usta otwarte. 108 00:04:35,033 --> 00:04:38,330 109 00:04:38,330 --> 00:04:42,860 >> PUBLICZNOŚCI: Czy to potrwać kilka argumenty, znaleźć sumę nich wracać 110 00:04:42,860 --> 00:04:45,285 suma, a następnie wydrukować go? 111 00:04:45,285 --> 00:04:53,045 Lub zajmuje się dwoma argumentami, i to robi [niesłyszalne]. 112 00:04:53,045 --> 00:04:56,460 A następnie drukuje się co Wyniki są. 113 00:04:56,460 --> 00:04:58,100 >> Głośnik: Blisko, bardzo blisko. 114 00:04:58,100 --> 00:04:59,840 Czy ktoś chce dodać do [? co Avi?] powiedział? 115 00:04:59,840 --> 00:05:04,830 116 00:05:04,830 --> 00:05:07,293 Czy trzeba dać ten program wszelkie argumenty wiersza polecenia? 117 00:05:07,293 --> 00:05:09,145 >> PUBLICZNOŚCI: Nie. 118 00:05:09,145 --> 00:05:09,610 >> Głośniki: Nie 119 00:05:09,610 --> 00:05:11,250 Co się stanie, jeśli nie dać wszelkie argumenty wiersza polecenia? 120 00:05:11,250 --> 00:05:12,500 Po prostu napisz dot slash MySum. 121 00:05:12,500 --> 00:05:15,145 122 00:05:15,145 --> 00:05:16,630 >> PUBLICZNOŚCI: 1 plus 2 równa 3. 123 00:05:16,630 --> 00:05:17,250 >> Głośnik: 1 plus 2 równa 3. 124 00:05:17,250 --> 00:05:18,570 I będzie to wydrukować to. 125 00:05:18,570 --> 00:05:19,450 To się dokładnie zgadza. 126 00:05:19,450 --> 00:05:21,370 Zobaczysz, że drukowania f linia na dole. 127 00:05:21,370 --> 00:05:23,450 Będzie to wydrukować, B i Następnie suma a i b. 128 00:05:23,450 --> 00:05:26,360 I myślę, że można zakładać, że Suma działa poprawnie. 129 00:05:26,360 --> 00:05:28,120 Dobre założenie. 130 00:05:28,120 --> 00:05:32,250 >> OK, a co się stanie, jeśli dać to, co argumentem? 131 00:05:32,250 --> 00:05:33,010 [? Manu? ?] 132 00:05:33,010 --> 00:05:36,230 >> PUBLICZNOŚCI: To co będziemy dodawać Pierwszy argument jest b. 133 00:05:36,230 --> 00:05:37,150 Lub 2, przepraszam. 134 00:05:37,150 --> 00:05:38,480 >> Głośnik: Tak, do 2. 135 00:05:38,480 --> 00:05:42,470 Czy ktoś wie, co strtol robi? 136 00:05:42,470 --> 00:05:43,960 Jest to w zasadzie atoi. 137 00:05:43,960 --> 00:05:47,240 Atoi jest rzeczywiście fantazyjne wersja - 138 00:05:47,240 --> 00:05:49,600 lub prostsza wersja strtol. 139 00:05:49,600 --> 00:05:51,790 Ale faktycznie korzysta strtol. 140 00:05:51,790 --> 00:05:54,610 141 00:05:54,610 --> 00:05:58,010 I okazało się, że się bo chciałem coś jak atoi, a następnie, kiedy 142 00:05:58,010 --> 00:06:01,110 nie atoi, czytałem tutaj. 143 00:06:01,110 --> 00:06:04,380 I znalazłem "to zachowanie jest taka sama jak "strtol. 144 00:06:04,380 --> 00:06:06,850 Więc jest to w zasadzie atoi na wszystkich zamiarów i celów. 145 00:06:06,850 --> 00:06:09,320 I widzisz, że nawet użyć nieważne i 10. 146 00:06:09,320 --> 00:06:14,390 >> To rzeczywiście pozwala w ciąg, i przekształcić go w szeregu, i wybierz 147 00:06:14,390 --> 00:06:15,970 co baza chcesz to zrobić w. 148 00:06:15,970 --> 00:06:17,370 Więc to jest baza 10 tutaj. 149 00:06:17,370 --> 00:06:20,455 Mogłem zrobić podstawa dwa dla dziesiętny, podstawa 16 na system szesnastkowy. 150 00:06:20,455 --> 00:06:22,090 To całkiem fajne. 151 00:06:22,090 --> 00:06:25,860 Ale krótko mówiąc, to ma dwa numery i dodaje je razem. 152 00:06:25,860 --> 00:06:29,260 >> Więc uruchom go. 153 00:06:29,260 --> 00:06:32,560 I będzie można również zauważyć, że Są pewne rzeczy - 154 00:06:32,560 --> 00:06:37,830 więc mam makefile tutaj, i Jeśli otworzysz się, że pewne rzeczy 155 00:06:37,830 --> 00:06:39,270 można zauważyć, są różne. 156 00:06:39,270 --> 00:06:42,370 W szczególności, argument tu, to prawdopodobnie 157 00:06:42,370 --> 00:06:43,010 nie widziałem, że przed. 158 00:06:43,010 --> 00:06:45,770 Ogólnie rzecz biorąc, możemy skompilować rzeczy z kreską zero, zerowej. 159 00:06:45,770 --> 00:06:51,500 Dash zera, zero, oznacza nie rób wszelkie optymalizacje, kompilator. 160 00:06:51,500 --> 00:06:54,950 Nie próbuj zrobić coś wyjątkowego, lub zrobić coś uruchomić szybciej, lub uzyskać 161 00:06:54,950 --> 00:06:56,530 uwolnić od zmiennych, które są konieczne. 162 00:06:56,530 --> 00:06:58,080 Nie zoptymalizować ten kod wcale 163 00:06:58,080 --> 00:07:00,110 >> Pytam, na trzecim poziomie optymalizacja. 164 00:07:00,110 --> 00:07:02,580 Więc pytam kompilator zrobić Wiele optymalizacji. 165 00:07:02,580 --> 00:07:05,870 Możesz to zmienić w makefile, gdy masz tego kodu, jeśli chcesz 166 00:07:05,870 --> 00:07:07,190 zobaczyć różne rzeczy. 167 00:07:07,190 --> 00:07:08,660 Które pokażemy w drugim. 168 00:07:08,660 --> 00:07:12,080 Więc uruchomić moją sumę 1 plus 2 plus 3. 169 00:07:12,080 --> 00:07:13,445 Ktoś dał mi dwa argumenty. 170 00:07:13,445 --> 00:07:17,221 171 00:07:17,221 --> 00:07:18,210 >> PUBLICZNOŚCI: 4 i 5. 172 00:07:18,210 --> 00:07:18,966 >> Głośnik: 4 i 5. 173 00:07:18,966 --> 00:07:19,900 Dziękuję. 174 00:07:19,900 --> 00:07:20,860 Świetne, to działa. 175 00:07:20,860 --> 00:07:25,700 Jakie są inne dobre argumenty spróbować, aby upewnić się, że działa? 176 00:07:25,700 --> 00:07:27,050 Ktoś? 177 00:07:27,050 --> 00:07:27,430 >> PUBLICZNOŚCI: 0. 178 00:07:27,430 --> 00:07:29,210 >> Głośnik: 0, a? 179 00:07:29,210 --> 00:07:31,010 >> PUBLICZNOŚCI: Negatywne 3. 180 00:07:31,010 --> 00:07:32,040 >> Głośnik: To działa. 181 00:07:32,040 --> 00:07:33,670 Ale to były dobre wybory. 182 00:07:33,670 --> 00:07:36,600 OK, więc wróćmy tutaj. 183 00:07:36,600 --> 00:07:38,540 To mysum.c. 184 00:07:38,540 --> 00:07:42,440 Zauważysz tam także coś nazywa sumfunction.c. 185 00:07:42,440 --> 00:07:48,110 I to mówi, oh, jest coś zdefiniowane w sumfunction.c. 186 00:07:48,110 --> 00:07:51,480 Nie zawierają ten plik tutaj bo nie trzeba. 187 00:07:51,480 --> 00:07:54,840 Ale połączyć go kiedy mogę skompilować, które zauważyliście. 188 00:07:54,840 --> 00:07:57,380 >> Załóżmy, przewiń w górę. 189 00:07:57,380 --> 00:08:02,880 Widzieliśmy, gdy skompilowany mysum, prawo tam, powiązane w binarny z 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 I nie potrzebujesz pliku nagłówka ponieważ, oczywiście, nie ma 193 00:08:08,470 --> 00:08:09,240 deklaracja funkcji. 194 00:08:09,240 --> 00:08:12,200 Tak ostre obejmują normalnie tylko puts w deklaracji funkcji. 195 00:08:12,200 --> 00:08:13,730 Tutaj właśnie umieścić go prosto w kodzie. 196 00:08:13,730 --> 00:08:16,370 I tak musisz zrobić, to związek w pliku binarnego, który robię. 197 00:08:16,370 --> 00:08:19,950 >> Wszelkie domysły dotyczące tego, co jest w sumfunction.c? 198 00:08:19,950 --> 00:08:21,950 Jaki kod Pisałem w sumfunction.c? 199 00:08:21,950 --> 00:08:25,445 200 00:08:25,445 --> 00:08:26,695 >> PUBLICZNOŚCI: [niesłyszalne]. 201 00:08:26,695 --> 00:08:29,460 202 00:08:29,460 --> 00:08:30,630 >> Głośnik: Wszelkie domysły? 203 00:08:30,630 --> 00:08:30,940 Tak? 204 00:08:30,940 --> 00:08:33,710 >> WIDOWNI: Myślę, definiuje niektóre [niesłyszalne]. 205 00:08:33,710 --> 00:08:33,975 >> Głośnik: Tak. 206 00:08:33,975 --> 00:08:37,650 Więc piszę int suma int. 207 00:08:37,650 --> 00:08:41,120 Piszę ten wiersz, a następnie mam otwarte nawias klamrowy, zamknięty nawias klamrowy. 208 00:08:41,120 --> 00:08:46,160 Co sądzisz piszę wewnątrz tych nawiasy klamrowe, wewnątrz tej funkcji? 209 00:08:46,160 --> 00:08:46,600 Tak? 210 00:08:46,600 --> 00:08:48,150 >> PUBLICZNOŚCI: Powrót równa. 211 00:08:48,150 --> 00:08:50,010 >> Procesor: To jest naprawdę dobre przypuszczenie. 212 00:08:50,010 --> 00:08:51,720 Kto myśli, [? Manu?] Ma rację? 213 00:08:51,720 --> 00:08:54,122 Mówi zwrócić plusa b.. 214 00:08:54,122 --> 00:08:55,860 OK, nie każdy. 215 00:08:55,860 --> 00:08:56,520 [? Akshar,?] 216 00:08:56,520 --> 00:08:57,390 ty też? 217 00:08:57,390 --> 00:09:00,430 Na pewno? 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? 221 00:09:10,050 --> 00:09:11,662 >> PUBLICZNOŚCI: Zostałeś wpisany to źle. 222 00:09:11,662 --> 00:09:13,000 >> Głośniki: Nie, ja nie. 223 00:09:13,000 --> 00:09:13,966 Tak, żartuję. 224 00:09:13,966 --> 00:09:15,300 Masz rację. 225 00:09:15,300 --> 00:09:15,930 To jest dokładnie to, co mówi. 226 00:09:15,930 --> 00:09:17,110 To powrót do plusa b.. 227 00:09:17,110 --> 00:09:18,570 To sprawia, że ​​wiele sensu. 228 00:09:18,570 --> 00:09:20,240 >> OK, wróćmy tutaj. 229 00:09:20,240 --> 00:09:21,490 Widzimy, jak nagłówek - 230 00:09:21,490 --> 00:09:24,540 231 00:09:24,540 --> 00:09:25,660 to typ zwracany. 232 00:09:25,660 --> 00:09:29,100 Pamiętaj, widzieliśmy, że jednego dnia, rodzaj funkcji wrócić, ale idzie 233 00:09:29,100 --> 00:09:30,160 przed nazwą funkcji int. 234 00:09:30,160 --> 00:09:31,560 Tutaj pisałem int. 235 00:09:31,560 --> 00:09:35,680 Co się stanie, jeśli w tym funkcja, nie piszę int, ale 236 00:09:35,680 --> 00:09:38,270 Piszę bez znaku? 237 00:09:38,270 --> 00:09:41,050 Różnica oczywiście jest, że bez znaku reprezentuje tylko pozytywne 238 00:09:41,050 --> 00:09:43,620 liczby całkowite, i int może być dodatnia lub ujemna. 239 00:09:43,620 --> 00:09:45,450 >> Więc zmieniłem powrót typ tej funkcji. 240 00:09:45,450 --> 00:09:49,370 Ten kod nie zgadza wpisz tutaj ten powrót. 241 00:09:49,370 --> 00:09:50,925 Co sądzisz się stanie kiedy mogę skompilować? 242 00:09:50,925 --> 00:09:53,840 243 00:09:53,840 --> 00:09:56,240 Należy krzyczeć na mnie. 244 00:09:56,240 --> 00:09:57,700 Nie wrzaski. 245 00:09:57,700 --> 00:10:00,050 >> A co, gdy uruchamiam program? 246 00:10:00,050 --> 00:10:05,810 Zróbmy przed 0 Negative 3 albo ujemne 1. 247 00:10:05,810 --> 00:10:10,180 Nadal działa, mimo że mówię to powrót liczbę całkowitą bez znaku. 248 00:10:10,180 --> 00:10:12,060 Najwyraźniej nie jest to powrót liczba całkowita bez znaku. 249 00:10:12,060 --> 00:10:13,520 To powrót podpisane całkowitą. 250 00:10:13,520 --> 00:10:16,130 To powrót negatywny 1. 251 00:10:16,130 --> 00:10:17,830 OK, to jest dziwne. 252 00:10:17,830 --> 00:10:27,030 >> A co, jeśli pójdę w tu zrobić? 253 00:10:27,030 --> 00:10:29,700 Więc zmieniłem wszystko z int do unsigned. 254 00:10:29,700 --> 00:10:31,590 To może trwać tylko liczby całkowite. 255 00:10:31,590 --> 00:10:33,840 Ale mamy jeszcze, że będzie to działać? 256 00:10:33,840 --> 00:10:35,652 >> PUBLICZNOŚCI: Tak. 257 00:10:35,652 --> 00:10:37,270 >> Głośnik: Będzie. 258 00:10:37,270 --> 00:10:39,410 To jest szalone. 259 00:10:39,410 --> 00:10:43,140 I mijamy się wyraźnie przypisać całkowitą, możemy przekazać dwa podpisana 260 00:10:43,140 --> 00:10:46,280 całkowitą, to nadal działa. 261 00:10:46,280 --> 00:10:52,150 >> OK, żadnych pomysłów, dlaczego wciąż działa, lub to, co się dzieje? 262 00:10:52,150 --> 00:10:53,368 Tak, Jeff. 263 00:10:53,368 --> 00:10:56,296 >> PUBLICZNOŚCI: To ma coś wspólnego z optymalizacji, które 264 00:10:56,296 --> 00:10:57,760 podświetlony. 265 00:10:57,760 --> 00:10:58,210 >> Głośniki: Nie 266 00:10:58,210 --> 00:11:00,570 Możemy zmienić optymalizacji, to nadal działa. 267 00:11:00,570 --> 00:11:02,240 Mogę to zrobić dla Ciebie, ale - 268 00:11:02,240 --> 00:11:02,930 >> PUBLICZNOŚCI: wezmę na słowo. 269 00:11:02,930 --> 00:11:03,690 >> Głośnik: Tak. 270 00:11:03,690 --> 00:11:09,690 Jeśli otworzysz plik makefile tutaj, Zmieniłem optymalizacji. 271 00:11:09,690 --> 00:11:11,570 Więc można zrobić kreskę zera, zera. 272 00:11:11,570 --> 00:11:12,820 Będzie nadal działać. 273 00:11:12,820 --> 00:11:16,839 274 00:11:16,839 --> 00:11:20,280 Inne pomysły? 275 00:11:20,280 --> 00:11:22,600 >> Wy wszyscy spodziewać do pracy, tak dlaczego można oczekiwać, że do pracy? 276 00:11:22,600 --> 00:11:31,210 277 00:11:31,210 --> 00:11:32,150 Nie? 278 00:11:32,150 --> 00:11:33,660 Cisza. 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 Muszę czekać siedem sekund, bo zadałem pytanie. 282 00:11:41,650 --> 00:11:44,190 283 00:11:44,190 --> 00:11:48,660 >> Tak fajna rzecz o C, a ty prawdopodobnie doświadczyłeś - Ciebie 284 00:11:48,660 --> 00:11:50,260 może nie, może to za pierwszym razem. 285 00:11:50,260 --> 00:11:57,030 Ale jak wiecie, kiedy piszę coś w C, nie zapisać jak 286 00:11:57,030 --> 00:11:57,760 Ten komputer. 287 00:11:57,760 --> 00:11:59,440 Jest zapisane jako zer i jedynek. 288 00:11:59,440 --> 00:12:02,970 To idzie z kodu C do kodu montażowej. 289 00:12:02,970 --> 00:12:09,460 >> Czy ktoś widział kod montaż przed, Kod montaż maszyn? 290 00:12:09,460 --> 00:12:10,630 Przyjrzymy się w drugim. 291 00:12:10,630 --> 00:12:12,040 To idzie z kodu C do kodu montażowej. 292 00:12:12,040 --> 00:12:13,755 I wiecie etapy kompilacji. 293 00:12:13,755 --> 00:12:17,410 Trzeba było zapamiętać, że do quizu jeden, a następnie zapisz go na quizie zera. 294 00:12:17,410 --> 00:12:18,240 Większość ludzi to źle. 295 00:12:18,240 --> 00:12:19,760 Myślę, że wam się udało. 296 00:12:19,760 --> 00:12:22,880 >> Ale, jesteście najlepsze sekcja dla quizów, tak przy okazji. 297 00:12:22,880 --> 00:12:25,210 Co jest niesamowite. 298 00:12:25,210 --> 00:12:25,910 To nie zaszkodzi. 299 00:12:25,910 --> 00:12:26,900 Nie należy się martwić. 300 00:12:26,900 --> 00:12:28,800 Ale to jest naprawdę fajne. 301 00:12:28,800 --> 00:12:29,660 Dobra robota. 302 00:12:29,660 --> 00:12:32,870 >> Więc idzie do asemblera, i następnie idzie do zer i jedynek. 303 00:12:32,870 --> 00:12:35,500 I jedynki i zera są zapisywane na komputer, i to, co zapisane w 304 00:12:35,500 --> 00:12:38,340 a.out, lub w tym przypadku, plik wykonywalny. 305 00:12:38,340 --> 00:12:41,040 I komputer działa jedynki i zera. 306 00:12:41,040 --> 00:12:41,670 Prawda? 307 00:12:41,670 --> 00:12:43,890 Nauczyliśmy się tego wcześniej. 308 00:12:43,890 --> 00:12:47,490 >> Tak fajne jest to niepodpisane pomysł, idea rodzajów ints niepodpisany, 309 00:12:47,490 --> 00:12:50,490 i tak dalej, i tak dalej, to jest się tu w języku C. 310 00:12:50,490 --> 00:12:51,110 Te istnieją. 311 00:12:51,110 --> 00:12:53,770 Ale typy nie istnieją jedynki i zera. 312 00:12:53,770 --> 00:12:57,110 Rodzaje naprawdę nie istnieją jeszcze poziomu asemblera. 313 00:12:57,110 --> 00:13:00,075 Tak, to jest coś, co istnieje w C świat, ale nie istnieje w komputerze 314 00:13:00,075 --> 00:13:01,640 świecie lub procesor świecie. 315 00:13:01,640 --> 00:13:04,660 To pewne, że C abstrakcja język włączyła, aby nasi 316 00:13:04,660 --> 00:13:06,240 Mieszka łatwiejsze. 317 00:13:06,240 --> 00:13:09,990 >> Tak więc na koniec dnia, można napisać wiele różnych rzeczy tutaj, i to 318 00:13:09,990 --> 00:13:10,700 nie robi różnicy. 319 00:13:10,700 --> 00:13:12,060 Dlatego, że istnieje tylko świecie C. 320 00:13:12,060 --> 00:13:14,100 Nie istnieją zer i jedynek świecie. 321 00:13:14,100 --> 00:13:17,310 A nasz program jest wykonywany w jedynki i zera świecie. 322 00:13:17,310 --> 00:13:21,170 Więc twój umysł nie jest jeszcze jasno dmuchane. 323 00:13:21,170 --> 00:13:22,740 Ale myślę, że to jest cool. 324 00:13:22,740 --> 00:13:23,530 Tak, Jeff. 325 00:13:23,530 --> 00:13:27,298 >> PUBLICZNOŚCI: Tak, jeśli zamiast robi int, zrobisz char. 326 00:13:27,298 --> 00:13:27,770 A ty - 327 00:13:27,770 --> 00:13:29,311 >> Głośnik: Zróbmy to w sek. 328 00:13:29,311 --> 00:13:32,583 >> PUBLICZNOŚCI: Bo wtedy można dostać niepodpisany będzie od 128 do ujemnego 329 00:13:32,583 --> 00:13:34,720 127 lub 0 do 255. 330 00:13:34,720 --> 00:13:36,760 >> Głośnik: Tak char jest problematyczne. 331 00:13:36,760 --> 00:13:39,460 Czy ktoś wie dlaczego char będzie problematyczne, i to faktycznie 332 00:13:39,460 --> 00:13:42,930 zmiany sytuacji w tych i zeruje świat? 333 00:13:42,930 --> 00:13:44,370 >> PUBLICZNOŚCI: Ze względu na wielkość char. 334 00:13:44,370 --> 00:13:46,200 >> Głośnik: Rozmiar char jest 1. 335 00:13:46,200 --> 00:13:48,260 Więc bez znaku jest także 4 bajty. 336 00:13:48,260 --> 00:13:50,080 Tak char by przykręcić rzeczy. 337 00:13:50,080 --> 00:13:55,660 Ale to, co jest, że jest 4 bajty podobne do char? 338 00:13:55,660 --> 00:13:57,820 Lub na który dodaje jeden dodatkowy - 339 00:13:57,820 --> 00:13:59,760 można umieścić jeden znak po char. 340 00:13:59,760 --> 00:14:00,200 >> PUBLICZNOŚCI: Char gwiazdki. 341 00:14:00,200 --> 00:14:01,220 >> Głośnik: Char gwiazda ma 4 bajty. 342 00:14:01,220 --> 00:14:02,490 Więc zróbmy coś to gwiazda char. 343 00:14:02,490 --> 00:14:05,470 344 00:14:05,470 --> 00:14:07,240 >> Więc to pewnie działa, ale jesteśmy zamiar zrobić coś jeszcze 345 00:14:07,240 --> 00:14:09,710 bardziej szalony niż to. 346 00:14:09,710 --> 00:14:10,960 Moim zdaniem, bardziej szalony. 347 00:14:10,960 --> 00:14:21,060 348 00:14:21,060 --> 00:14:24,570 >> I już teraz napisane funkcję zwracającą wskaźnik, a to trwa 349 00:14:24,570 --> 00:14:29,480 wskaźnik i wartość bez znaku - będziemy zmienić z powrotem na int, więc nie jesteśmy 350 00:14:29,480 --> 00:14:31,250 podejmowania zbyt wielu zmian na raz. 351 00:14:31,250 --> 00:14:35,370 I ma tablicy nazywanej, indeksy do tablicy i zwraca 352 00:14:35,370 --> 00:14:35,850 adres. 353 00:14:35,850 --> 00:14:37,470 Widzieliśmy te podmioty przed. 354 00:14:37,470 --> 00:14:43,340 To, co myślisz to będzie zrobić w zamian, gdy uruchomię go? 355 00:14:43,340 --> 00:14:48,280 356 00:14:48,280 --> 00:14:49,070 Co myślisz, że będzie to zrobić? 357 00:14:49,070 --> 00:14:50,320 Wszelkie domysły? 358 00:14:50,320 --> 00:14:54,220 359 00:14:54,220 --> 00:14:55,320 >> PUBLICZNOŚCI: segfault. 360 00:14:55,320 --> 00:14:55,600 >> Głośnik: Co? 361 00:14:55,600 --> 00:14:56,660 Wysypać? 362 00:14:56,660 --> 00:14:58,520 To dobre przypuszczenie. 363 00:14:58,520 --> 00:14:59,430 Tom mówi to samo. 364 00:14:59,430 --> 00:15:02,240 Wszelkie inne przypuszczenia? 365 00:15:02,240 --> 00:15:05,260 >> Kto myśli, że będzie zrobić to samo? 366 00:15:05,260 --> 00:15:06,510 Kto myśli, że to się wysypać? 367 00:15:06,510 --> 00:15:09,350 368 00:15:09,350 --> 00:15:10,230 To nie to samo. 369 00:15:10,230 --> 00:15:11,880 Przepraszam. 370 00:15:11,880 --> 00:15:13,860 >> Ale, oczywiście, możemy umieścić w 1 i 2. 371 00:15:13,860 --> 00:15:16,470 I te są zarówno ważne, prawda? 372 00:15:16,470 --> 00:15:19,420 Zobaczmy, możemy przejść do Drugie miejsce z tablicy. 373 00:15:19,420 --> 00:15:24,010 Ale co, jeśli zrobiliśmy b liczba ujemna? 374 00:15:24,010 --> 00:15:26,380 To jest chyba lepsze przypuszczenie czegoś segfaulting. 375 00:15:26,380 --> 00:15:30,310 376 00:15:30,310 --> 00:15:32,260 Nadal działa. 377 00:15:32,260 --> 00:15:35,020 >> OK, to jest szalone. 378 00:15:35,020 --> 00:15:38,350 Jest to równie ważnej funkcji SUMA. 379 00:15:38,350 --> 00:15:40,470 To nie samo dokładne jako A i B powrotnego. 380 00:15:40,470 --> 00:15:44,600 Czy ktoś może wyjaśnić, dlaczego jest to dobre funkcję podsumowania, ani dlaczego to działa? 381 00:15:44,600 --> 00:15:45,850 Co się tu dzieje? 382 00:15:45,850 --> 00:15:49,360 383 00:15:49,360 --> 00:15:55,750 Dlaczego to robi dokładnie to samo coś jak nasz stary funkcji suma? 384 00:15:55,750 --> 00:15:56,890 [? Akshar,?] 385 00:15:56,890 --> 00:15:58,155 co się dzieje? 386 00:15:58,155 --> 00:16:01,540 >> PUBLICZNOŚCI: Bo kiedy masz to jest adres do 387 00:16:01,540 --> 00:16:03,950 Pamięć lokalizacja - 388 00:16:03,950 --> 00:16:07,910 i kiedy to zrobić znaku handlowego, to idzie do adresu pamięci. 389 00:16:07,910 --> 00:16:13,610 A gdy idziesz do B, jesteś rodzajem ruchu kroków od adresu pamięci, 390 00:16:13,610 --> 00:16:15,550 Wracasz, że. 391 00:16:15,550 --> 00:16:20,083 Więc jesteś w rzeczywistości, w rzeczywistości, Dodawanie i b [niesłyszalne]. 392 00:16:20,083 --> 00:16:23,300 393 00:16:23,300 --> 00:16:26,222 Gdzie są standardowe operacje tego zwrotu? 394 00:16:26,222 --> 00:16:27,683 Jak, gdzie nawiasy spaść? 395 00:16:27,683 --> 00:16:30,610 Czy powrót na adres przed lub po [niesłyszalne]? 396 00:16:30,610 --> 00:16:32,380 >> Głośnik: To będzie indeks do b - 397 00:16:32,380 --> 00:16:34,430 lub indeks do - a następnie powrót adres. 398 00:16:34,430 --> 00:16:38,800 399 00:16:38,800 --> 00:16:41,340 OK, więc nie wszyscy rozumieją co [? Akshar?] 400 00:16:41,340 --> 00:16:45,830 powiedział i wyjaśnił, dlaczego to działa? 401 00:16:45,830 --> 00:16:49,430 Ja nie, po raz pierwszy kogoś wyjaśnił mi to. 402 00:16:49,430 --> 00:16:51,900 Czy ktoś lubi zdjęcia to wyjaśnić? 403 00:16:51,900 --> 00:16:55,320 Mamy zamiar narysować obrazek, z markery, to świetnie. 404 00:16:55,320 --> 00:16:57,920 Znaleziono kilka. 405 00:16:57,920 --> 00:17:03,390 >> Więc mamy tablicę, która jest Szereg pola. 406 00:17:03,390 --> 00:17:07,160 407 00:17:07,160 --> 00:17:13,710 Pierwszy z nich to indeks 0, indeks 1, 2, 3, 4, kropka, kropka, kropka. 408 00:17:13,710 --> 00:17:15,609 Typowa tablica. 409 00:17:15,609 --> 00:17:19,540 I oprócz tego, że wskaźniki, wszyscy mają adresy pamięci. 410 00:17:19,540 --> 00:17:30,190 Warto więc dać ten adres pamięci 13, 14, 15, 16, 17, i tak dalej. 411 00:17:30,190 --> 00:17:32,490 Wszyscy tutaj tak daleko. 412 00:17:32,490 --> 00:17:35,810 >> Tak więc jest adres. 413 00:17:35,810 --> 00:17:38,850 Nazwa tablicy, wskaźnik jest tam zapisywane. 414 00:17:38,850 --> 00:17:42,730 To wskazówka, że ​​to miejsce w pamięci, do początku tablicy. 415 00:17:42,730 --> 00:17:45,910 Tak, jakby to była tablica, będzie wartość 13. 416 00:17:45,910 --> 00:17:49,110 I, oczywiście, możemy dać dowolna wartość chcemy. 417 00:17:49,110 --> 00:17:52,450 Char gwiazda, możemy dać dowolny adres pamięci chcemy. 418 00:17:52,450 --> 00:17:55,940 Możemy dać mu 0, możemy nadać mu ujemne 1 - ujemna 1 nie istnieje, 419 00:17:55,940 --> 00:17:58,820 tak, to jest to chyba problemem, ale obejrzałeś, że nadal pracował. 420 00:17:58,820 --> 00:18:03,070 Więc możemy podać dowolną liczbę chcemy, każdy adres pamięci chcemy. 421 00:18:03,070 --> 00:18:08,720 >> Następnie, int b mówi, OK, przejdź pod ten numer z wchodzi do matrycy. 422 00:18:08,720 --> 00:18:13,150 Tak więc, gdy B jest równe 2, a równa się 13, jesteśmy na adres pamięci 13. 423 00:18:13,150 --> 00:18:17,330 I idziemy dwa kroki, i tak, że tu jesteśmy. 424 00:18:17,330 --> 00:18:21,150 I oznacza powrót Ampersand adres tego miejsca. 425 00:18:21,150 --> 00:18:23,990 I adres jest, oczywiście, 15. 426 00:18:23,990 --> 00:18:28,710 Więc mamy 13 plus 2, lub oraz b, które jest 15. 427 00:18:28,710 --> 00:18:29,590 >> Pytanie jest, choć - 428 00:18:29,590 --> 00:18:30,250 Przykro mi. 429 00:18:30,250 --> 00:18:34,324 Czy to wyjaśnienie rzeczy dlaczego to działa? 430 00:18:34,324 --> 00:18:36,300 >> PUBLICZNOŚCI: Dlaczego to działa dzieje - 431 00:18:36,300 --> 00:18:38,770 więc można mieć tablicę i przejdź do ujemnego wskaźnika? 432 00:18:38,770 --> 00:18:39,050 >> Głośnik: Prawo. 433 00:18:39,050 --> 00:18:40,870 Więc zrobiliśmy liczb ujemnych, tak to jest - 434 00:18:40,870 --> 00:18:42,770 Czy to ma sens, choć, Pierwszy, [? Avi,?] 435 00:18:42,770 --> 00:18:43,120 dla Ciebie? 436 00:18:43,120 --> 00:18:48,840 >> PUBLICZNOŚCI: Tak, jestem po prostu [Niesłyszalne], ale - 437 00:18:48,840 --> 00:18:50,440 >> Głośnik: Tak, to będzie powrót 15. 438 00:18:50,440 --> 00:18:53,523 Jeśli było 13, a b to 2, to zwróci 15. 439 00:18:53,523 --> 00:18:58,160 >> PUBLICZNOŚCI: Więc nie indeksowanie od zera się problem, prawda? 440 00:18:58,160 --> 00:19:00,160 Ponieważ jesteś w ruchu od 0. 441 00:19:00,160 --> 00:19:00,470 >> Głośnik: Prawo. 442 00:19:00,470 --> 00:19:05,000 Więc jesteś w ruchu - więc jeśli b było 0, nie ruszać się nigdzie. 443 00:19:05,000 --> 00:19:06,330 A ty właśnie wrócił adres - 444 00:19:06,330 --> 00:19:10,830 jeśli b było 0, to zasadniczo powrót ten adres. 445 00:19:10,830 --> 00:19:13,960 Przekazując char star i powrocie adres jest tylko powrót, 446 00:19:13,960 --> 00:19:15,860 zasadniczo. 447 00:19:15,860 --> 00:19:18,280 >> OK, pytanie jest dlaczego liczby ujemne działa? 448 00:19:18,280 --> 00:19:21,670 I to jest naprawdę fajne rzeczy na temat to, ponieważ powinno się wysypać. 449 00:19:21,670 --> 00:19:25,110 I to wysypać jeśli zrobił coś takiego. 450 00:19:25,110 --> 00:19:28,050 451 00:19:28,050 --> 00:19:29,300 Powiedzmy, int. 452 00:19:29,300 --> 00:19:34,390 453 00:19:34,390 --> 00:19:39,810 Tak to wygląda identycznie i kod powinien zachowywać się identycznie. 454 00:19:39,810 --> 00:19:44,550 Zasadniczo, x oznacza zmienną śmieci, i tak to powinno zachowywać się identycznie. 455 00:19:44,550 --> 00:19:46,370 >> Zróbmy to - 456 00:19:46,370 --> 00:19:47,620 Ups - 457 00:19:47,620 --> 00:19:54,790 458 00:19:54,790 --> 00:19:56,040 w gwiazdy. 459 00:19:56,040 --> 00:19:59,160 460 00:19:59,160 --> 00:20:02,733 OK, mamy tu już się błędy, bo to już będzie zły 461 00:20:02,733 --> 00:20:04,610 na mnie, ponieważ już wie, co się zbliża. 462 00:20:04,610 --> 00:20:07,060 W szczególności, drugi. 463 00:20:07,060 --> 00:20:09,800 Adres ułożone pamięci związane ze zmiennej lokalnej. 464 00:20:09,800 --> 00:20:14,220 >> Zasadniczo, nie zamierzam skompilować ta, a potem mam zamiar cofnąć zrobić 465 00:20:14,220 --> 00:20:14,920 co właśnie zrobiliśmy. 466 00:20:14,920 --> 00:20:19,130 Ale dlatego, że nigdy nie jesteś w rzeczywistości dostępu do tego, co znajduje się w pamięci 467 00:20:19,130 --> 00:20:21,930 lokalizacja, to nie będzie się wysypać. 468 00:20:21,930 --> 00:20:26,450 Nigdy nie jesteś rzeczywiście patrząc na to, co w drugim polu lub co jest w każdym oknie 469 00:20:26,450 --> 00:20:28,340 tej tablicy. 470 00:20:28,340 --> 00:20:30,980 Jesteśmy tylko mówiąc, tu jest adres z rzeczy szukamy i 471 00:20:30,980 --> 00:20:32,410 powrót ten adres. 472 00:20:32,410 --> 00:20:35,700 Że nigdy nie będzie w rzeczywistości Tablica szukać w tym miejscu. 473 00:20:35,700 --> 00:20:39,140 A ponieważ nigdy nie dotykać pamięci, nie wpaść w kłopoty. 474 00:20:39,140 --> 00:20:40,760 Nie uzyskać segfault. 475 00:20:40,760 --> 00:20:46,225 >> Jeśli będziemy starali się, ponownie, dotknij, że pamięci, dotknąć tego, co było na a lub b - 476 00:20:46,225 --> 00:20:49,940 lub uchwyt b, i przy założeniu, było 0 i - 477 00:20:49,940 --> 00:20:53,040 jeśli było 0, a nawet, że będzie dość zły, bo nie możemy go 478 00:20:53,040 --> 00:20:54,090 w dół całą drogę. 479 00:20:54,090 --> 00:20:58,250 Jeśli A i B zarówno 0, i staraliśmy się dotknąć tego, co było, to byłoby 480 00:20:58,250 --> 00:20:59,110 kłopoty. 481 00:20:59,110 --> 00:21:02,160 Ale jeśli nie dotykać, co tam jest, po prostu powrócić adres, to jest 482 00:21:02,160 --> 00:21:08,300 naprawdę nie dzieje się wysypać z powodu Pozwala wykonać te czynności. 483 00:21:08,300 --> 00:21:11,920 To tylko jest zły na siebie, i dostaje Super zły, podczas próby i dotknij 484 00:21:11,920 --> 00:21:15,740 Rzeczywista pamięć i wrócić co w tym miejscu pamięci. 485 00:21:15,740 --> 00:21:17,690 >> Czy to ma sens? 486 00:21:17,690 --> 00:21:24,820 To jest po prostu szalona część C tak, mamy jeden z nich. 487 00:21:24,820 --> 00:21:27,760 488 00:21:27,760 --> 00:21:29,700 >> Kto myśli, że to jest fajne? 489 00:21:29,700 --> 00:21:30,280 Więcej osób. 490 00:21:30,280 --> 00:21:31,070 To dobrze. 491 00:21:31,070 --> 00:21:34,860 OK, to jest nasz ostatni. 492 00:21:34,860 --> 00:21:37,314 I chciałbym, aby mi powiedzieć, czy czy nie uważasz, że to się dzieje 493 00:21:37,314 --> 00:21:38,564 zrobić to samo dokładne. 494 00:21:38,564 --> 00:22:06,050 495 00:22:06,050 --> 00:22:07,390 >> Mam to zapisane gdzieś. 496 00:22:07,390 --> 00:22:08,640 Nie mam ich na pamięć. 497 00:22:08,640 --> 00:22:33,350 498 00:22:33,350 --> 00:22:42,900 >> Zobaczmy, 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 Więc to jest tablica, teraz, nie funkcji. 500 00:22:46,670 --> 00:22:49,640 I to jest tablica ponieważ mamy plac wsporniki, nie nawiasy klamrowe. 501 00:22:49,640 --> 00:22:52,360 I to jest tablica z jakiego typu? 502 00:22:52,360 --> 00:22:55,540 503 00:22:55,540 --> 00:22:56,862 Każdy, hmm? 504 00:22:56,862 --> 00:22:57,694 >> PUBLICZNOŚCI: Ich liczba w systemie szesnastkowym? 505 00:22:57,694 --> 00:22:59,650 >> Głośnik: Ale co jest typu C? 506 00:22:59,650 --> 00:23:00,710 Oni wszyscy mają liczb szesnastkowych. 507 00:23:00,710 --> 00:23:01,960 Co jest typu C? 508 00:23:01,960 --> 00:23:04,730 509 00:23:04,730 --> 00:23:05,480 Dowiesz się. 510 00:23:05,480 --> 00:23:07,350 >> PUBLICZNOŚCI: To niepodpisane znaki. 511 00:23:07,350 --> 00:23:09,170 >> GŁOŚNIK: Racja, niepodpisane znaki. 512 00:23:09,170 --> 00:23:13,050 I dwie liczby szesnastkowe to jeden bajt. 513 00:23:13,050 --> 00:23:18,540 Są to tylko 1, 2, 3, 4, 5, 6, 7, 8, 9 bajtów. 514 00:23:18,540 --> 00:23:21,360 Jest to tablica z 9 bajtów. 515 00:23:21,360 --> 00:23:25,530 >> OK, prawdopodobnie już wiesz, Odpowiedź na to pytanie. 516 00:23:25,530 --> 00:23:29,840 Ale, co myślisz będzie zdarzyć, gdy uruchomię to? 517 00:23:29,840 --> 00:23:34,110 Mówię, ponownie, w mysum.c, Czekam na funkcję 518 00:23:34,110 --> 00:23:36,280 że bierze się dwie liczby całkowite. 519 00:23:36,280 --> 00:23:40,265 A ja zamiast powiedzieć tej sumy jest tablicą znaków. 520 00:23:40,265 --> 00:23:42,780 521 00:23:42,780 --> 00:23:48,070 Co się stanie, gdy Uruchomić. / Mysum i zrobić? 522 00:23:48,070 --> 00:23:53,230 >> Cóż, po pierwsze, większość z was będzie prawdopodobnie zgadzają się, że marka - O nie, tylko żartowałem. 523 00:23:53,230 --> 00:23:54,746 Co robię nie tak? 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 powinno być nawiasy klamrowe. 527 00:24:01,160 --> 00:24:02,790 To, w jaki sposób zainicjować tablicę. 528 00:24:02,790 --> 00:24:04,040 Moje złe. 529 00:24:04,040 --> 00:24:07,530 530 00:24:07,530 --> 00:24:11,670 >> Więc już wcześniej, że typy widział to abstrakcja C-poziom, nie 531 00:24:11,670 --> 00:24:12,610 abstrakcja poziomu komputera. 532 00:24:12,610 --> 00:24:16,360 Tak więc większość z was pewnie spodziewał się, że Marka lub zakładając, że to uczyni. 533 00:24:16,360 --> 00:24:18,680 Ale co, gdy uruchomię. / Mysum? 534 00:24:18,680 --> 00:24:19,930 Co się stanie? 535 00:24:19,930 --> 00:24:21,790 536 00:24:21,790 --> 00:24:23,422 Wszelkie domysły? 537 00:24:23,422 --> 00:24:25,270 >> PUBLICZNOŚCI: To będzie wydrukować słowo. 538 00:24:25,270 --> 00:24:26,310 >> Głośnik: To będzie wydrukować słowo. 539 00:24:26,310 --> 00:24:29,335 Jakie słowo? 540 00:24:29,335 --> 00:24:32,200 >> PUBLICZNOŚCI: [niesłyszalne]. 541 00:24:32,200 --> 00:24:33,240 >> Głośnik: Wszelkie inne przypuszczenia? 542 00:24:33,240 --> 00:24:34,000 OK, wydrukować frazę. 543 00:24:34,000 --> 00:24:35,130 Może masz jakieś zdanie. 544 00:24:35,130 --> 00:24:36,240 To będzie po twojej stronie. 545 00:24:36,240 --> 00:24:38,480 Każdy, kto ma inne przypuszczenia? 546 00:24:38,480 --> 00:24:39,730 Anna, jakie jest twoje przypuszczenie? 547 00:24:39,730 --> 00:24:42,675 548 00:24:42,675 --> 00:24:44,615 >> PUBLICZNOŚCI: To będzie wydrukować - 549 00:24:44,615 --> 00:24:47,525 550 00:24:47,525 --> 00:24:49,480 dwie litery, lub [niesłyszalne] jedna litera. 551 00:24:49,480 --> 00:24:51,460 >> Głośnik: Jeden list. 552 00:24:51,460 --> 00:24:53,260 >> PUBLICZNOŚCI: Czy mogę liczyć, jak wiele [niesłyszalne]? 553 00:24:53,260 --> 00:24:55,426 >> Głośnik: Dziewięć. 554 00:24:55,426 --> 00:24:56,640 Cóż, mam zamiar go uruchomić. 555 00:24:56,640 --> 00:24:58,650 To nie samo dokładne. 556 00:24:58,650 --> 00:25:00,190 Dodaje dwie liczby. 557 00:25:00,190 --> 00:25:02,740 Cóż, przekazać dwa argumenty. 558 00:25:02,740 --> 00:25:03,710 Nie przyjmują argumenty. 559 00:25:03,710 --> 00:25:06,080 Więc nie wiem, gdzie może może dostać się do tych argumentów. 560 00:25:06,080 --> 00:25:07,710 Ale niech przechodzą na 100 i 0. 561 00:25:07,710 --> 00:25:09,200 I dodaje, 100 i 0. 562 00:25:09,200 --> 00:25:10,220 To szaleństwo. 563 00:25:10,220 --> 00:25:12,280 Myślę, że tak. 564 00:25:12,280 --> 00:25:14,480 >> Negatywne 4, który działa też. 565 00:25:14,480 --> 00:25:15,650 Możesz robić wszystko co chcesz. 566 00:25:15,650 --> 00:25:17,920 To jest równie ważna funkcja suma. 567 00:25:17,920 --> 00:25:19,640 Jest to funkcja suma. 568 00:25:19,640 --> 00:25:21,510 Ale nie, mówisz, że to tablica bajtów. 569 00:25:21,510 --> 00:25:23,570 Więc co tu się dzieje? 570 00:25:23,570 --> 00:25:27,240 >> Tak więc, ponownie, wróćmy do tego pomysłu powiedział, że na samym początku. 571 00:25:27,240 --> 00:25:32,050 Przejść z poziomu kodu C, do montażu język, z zer i jedynek. 572 00:25:32,050 --> 00:25:33,050 To szesnastkowym. 573 00:25:33,050 --> 00:25:35,780 Ale to jest tak naprawdę dużo zer i jedynek. 574 00:25:35,780 --> 00:25:39,230 To jest 72 zer i jedynek, prawda? 575 00:25:39,230 --> 00:25:40,550 72 zer i jedynek. 576 00:25:40,550 --> 00:25:42,160 9 bajtów. 577 00:25:42,160 --> 00:25:43,740 Każdy bajt ma 8 bitów. 578 00:25:43,740 --> 00:25:44,760 Każdy bit jest jeden lub zero. 579 00:25:44,760 --> 00:25:45,920 Tak, 72 z nich lub zera. 580 00:25:45,920 --> 00:25:48,780 Właśnie napisał je tak - niż pisanie go jako dużo 581 00:25:48,780 --> 00:25:49,730 zer i jedynek. 582 00:25:49,730 --> 00:25:53,560 >> Ale to będzie od poziomu C język, do montażu 583 00:25:53,560 --> 00:25:54,620 język, w kodzie. 584 00:25:54,620 --> 00:25:59,020 I będzie to wydrukować w kodzie, Gdzieś te 72 zer i jedynek 585 00:25:59,020 --> 00:26:00,910 że napisałem tutaj. 586 00:26:00,910 --> 00:26:03,610 Gdzieś że - 587 00:26:03,610 --> 00:26:04,850 chodźmy tutaj - 588 00:26:04,850 --> 00:26:11,240 gdzieś mysum, program jest są te 72 zer i jedynek, że mam 589 00:26:11,240 --> 00:26:14,930 napisał i powiedział to napisać. 590 00:26:14,930 --> 00:26:19,331 >> Teraz każdy na co te domysły 72 zer i jedynek na myśli? 591 00:26:19,331 --> 00:26:21,240 >> PUBLICZNOŚCI: Prawdopodobnie sam coś jak powrót do plusa b.. 592 00:26:21,240 --> 00:26:22,890 >> Głośnik: Prawdopodobnie sam coś jak powrót do plusa b.. 593 00:26:22,890 --> 00:26:23,730 Sprawdźmy to. 594 00:26:23,730 --> 00:26:25,210 Załóżmy, dowiedzieć się, jak to zrobiłem. 595 00:26:25,210 --> 00:26:31,840 >> Więc jeśli wrócisz tu, mówię ci uruchomienie tej komendy, objdump-S 596 00:26:31,840 --> 00:26:34,290 sumfunction.o. 597 00:26:34,290 --> 00:26:36,230 Chodźmy go uruchomić. objdump - 598 00:26:36,230 --> 00:26:37,990 obj, zrzucić. 599 00:26:37,990 --> 00:26:39,840 Zasadniczo może dać mnie co chcę zobaczyć. 600 00:26:39,840 --> 00:26:40,840 To może dać mi asemblera. 601 00:26:40,840 --> 00:26:42,730 To może dać mi jedynki i zera. 602 00:26:42,730 --> 00:26:43,840 Ma mnóstwo flag. 603 00:26:43,840 --> 00:26:45,860 To jest jeden jedziemy używać do teraz. 604 00:26:45,860 --> 00:26:46,980 Kropka - 605 00:26:46,980 --> 00:26:48,810 jak widać na slajdach - 606 00:26:48,810 --> 00:26:53,840 Kapitał kreska S mówi, przeplatać, Kod źródłowy - 607 00:26:53,840 --> 00:26:58,410 linia ta jest z C - z zespołem Kod oraz z zer i jedynek. 608 00:26:58,410 --> 00:27:00,350 I mamy zamiar uruchomić to na sumfunction.o. 609 00:27:00,350 --> 00:27:01,410 Bo to będzie lepiej widoczne. 610 00:27:01,410 --> 00:27:02,670 Ponownie - hmm? 611 00:27:02,670 --> 00:27:04,700 >> PUBLICZNOŚCI: Zostałeś wpisany to źle. 612 00:27:04,700 --> 00:27:05,930 >> Głośnik: Ale ja naprawdę dzieje , aby usunąć go na chwilę. 613 00:27:05,930 --> 00:27:09,160 Jestem pierwszy otworzy tylko sumfuntion.o. 614 00:27:09,160 --> 00:27:11,170 >> PUBLICZNOŚCI: Ty to orkisz źle za pierwszym razem. 615 00:27:11,170 --> 00:27:12,420 >> Głośnik: klasyczna. 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 to jest trudne słowo, choć. 619 00:27:16,680 --> 00:27:19,050 Zdziwiłbyś się. 620 00:27:19,050 --> 00:27:21,560 OK, więc to jest sumfunction.o. 621 00:27:21,560 --> 00:27:24,494 622 00:27:24,494 --> 00:27:26,220 Nie mogłem nawet powiedzieć. 623 00:27:26,220 --> 00:27:30,250 Jest wiele zer, wyraźnie dużo od zera, a nie jakiś inny 624 00:27:30,250 --> 00:27:31,930 rzeczy, które nie zera. 625 00:27:31,930 --> 00:27:33,220 Ale głównie zera. 626 00:27:33,220 --> 00:27:35,120 Wygląda na to, że jest kilka z nich. 627 00:27:35,120 --> 00:27:36,810 Tak wyraźnie, to jest trudne do odczytania. 628 00:27:36,810 --> 00:27:39,320 To język binarny. 629 00:27:39,320 --> 00:27:40,710 >> Niech teraz go otworzyć - 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 robię źle? 633 00:27:53,600 --> 00:27:56,955 634 00:27:56,955 --> 00:27:58,434 Ja pisze go poprawnie? 635 00:27:58,434 --> 00:28:09,865 636 00:28:09,865 --> 00:28:11,120 OK, to jest niewygodne. 637 00:28:11,120 --> 00:28:37,560 638 00:28:37,560 --> 00:28:40,158 Potrzebuję jedną sekundę, aby dowiedzieć się, co robię źle. 639 00:28:40,158 --> 00:28:46,030 640 00:28:46,030 --> 00:28:49,310 To jest jeden błąd. 641 00:28:49,310 --> 00:28:50,560 To dziwne. 642 00:28:50,560 --> 00:28:58,080 643 00:28:58,080 --> 00:29:01,800 Och, to dlaczego. 644 00:29:01,800 --> 00:29:09,880 >> Mam zamiar wrócić do naszych początkowych jeden, więc możemy patrzeć 645 00:29:09,880 --> 00:29:10,560 Kod obiektu tego. 646 00:29:10,560 --> 00:29:13,390 Ponieważ nie będzie naprawdę być cokolwiek, kiedy tylko umieścić 647 00:29:13,390 --> 00:29:14,640 zer i jedynek w. 648 00:29:14,640 --> 00:29:29,000 649 00:29:29,000 --> 00:29:30,200 Nie idziemy. 650 00:29:30,200 --> 00:29:32,425 OK, więc każdy może zobaczyć. 651 00:29:32,425 --> 00:29:38,130 Funkcja ta, jak już powiedziałem, zgasić linii C - 652 00:29:38,130 --> 00:29:39,060 - linie kodu źródłowego 653 00:29:39,060 --> 00:29:41,000 z niektórych instrukcji montażu. 654 00:29:41,000 --> 00:29:42,760 >> Oto nasza linia kodu źródłowego. 655 00:29:42,760 --> 00:29:44,910 Oto jeden, oto kolejny. 656 00:29:44,910 --> 00:29:46,540 Tutaj jest instrukcja montażu. 657 00:29:46,540 --> 00:29:47,820 To, jak wyglądają. 658 00:29:47,820 --> 00:29:49,010 - Instrukcja montażu 659 00:29:49,010 --> 00:29:51,530 można dowiedzieć się więcej z nich, jeśli wziąć inne klasy CS, ale są 660 00:29:51,530 --> 00:29:53,500 generalnie instrukcja. 661 00:29:53,500 --> 00:29:57,940 A potem źródła i przeznaczenia. 662 00:29:57,940 --> 00:30:02,740 >> A następnie tutaj jest kod binarny który odpowiada tym zespole 663 00:30:02,740 --> 00:30:04,940 instrukcja. 664 00:30:04,940 --> 00:30:09,760 Więc jak widać, funkcja ta suma, Na koniec dnia, to trzy 665 00:30:09,760 --> 00:30:10,950 instrukcja montażu. 666 00:30:10,950 --> 00:30:12,870 Tylko trzy. 667 00:30:12,870 --> 00:30:14,180 Jednym mov - 668 00:30:14,180 --> 00:30:16,740 m-o-v oznacza ruch. 669 00:30:16,740 --> 00:30:17,780 Dodaj stoisk na dodawanie. 670 00:30:17,780 --> 00:30:20,440 I r-e-t oznacza Return. 671 00:30:20,440 --> 00:30:22,540 Więc jeden mov, jeden dodatek, jeden powrót. 672 00:30:22,540 --> 00:30:27,970 A to, tutaj, to zera i Te, które odpowiadają tym kodem. 673 00:30:27,970 --> 00:30:31,100 >> Tak więc ci, zer i jedynek, gdy wiedzą ci, możesz po prostu umieścić 674 00:30:31,100 --> 00:30:32,140 ci prosto w. 675 00:30:32,140 --> 00:30:34,130 A następnie będzie to robić samo dokładne. 676 00:30:34,130 --> 00:30:37,260 Ponieważ pod koniec dnia, wszystkie jesteś wykonanie jest długa seria 677 00:30:37,260 --> 00:30:38,480 zer i jedynek. 678 00:30:38,480 --> 00:30:40,700 I to jest to, co naprawdę jest Twój kod. 679 00:30:40,700 --> 00:30:41,770 >> A powód - 680 00:30:41,770 --> 00:30:43,680 spójrzmy na jednej rzeczy. 681 00:30:43,680 --> 00:30:45,440 Czy mam makefile otwarte? 682 00:30:45,440 --> 00:30:48,510 Jeśli więc wróciliśmy do kreska zero, zero, tu - 683 00:30:48,510 --> 00:30:52,220 684 00:30:52,220 --> 00:30:57,300 Przepraszamy, kapitał o kapitał o zero, nie zero, zero. 685 00:30:57,300 --> 00:31:01,810 A my nie zrobić, że będzie wciąż działają tak samo. 686 00:31:01,810 --> 00:31:05,420 Ale teraz można zauważyć, że istnieją wiele więcej instrukcji montażu. 687 00:31:05,420 --> 00:31:09,090 To dlatego, że znowu poprosiłem kompilator nie robić żadnych optymalizacji. 688 00:31:09,090 --> 00:31:12,800 >> Więc może jeszcze podjąć wszystkie te zer i jedynek, i wrzucą ich w, 689 00:31:12,800 --> 00:31:13,390 i że działa. 690 00:31:13,390 --> 00:31:15,850 Właśnie zrobiłem optymalizacje, ponieważ to jest trochę łatwiej, a następnie, 691 00:31:15,850 --> 00:31:17,310 napisać tę tablicę. 692 00:31:17,310 --> 00:31:19,730 Ale będzie to działać tak samo dobrze. 693 00:31:19,730 --> 00:31:24,460 >> OK, mamy zamiar zrobić jedną, ostatnią rzeczą, bo myślę, że to najfajniejsza część. 694 00:31:24,460 --> 00:31:27,410 Mimo, że każdy jest wyraźnie już dmuchane i oniemiała. 695 00:31:27,410 --> 00:31:30,520 696 00:31:30,520 --> 00:31:31,670 Nasze umysły nie są przepalone. 697 00:31:31,670 --> 00:31:32,920 [Niesłyszalne] 698 00:31:32,920 --> 00:31:47,580 699 00:31:47,580 --> 00:31:51,520 >> A więc, są to z innej klasy CS co jest bardzo interesujące, 700 00:31:51,520 --> 00:31:52,970 że brałem - 701 00:31:52,970 --> 00:31:54,140 CS61. 702 00:31:54,140 --> 00:31:55,910 Gorąco zachęcam do jej podjęcia. 703 00:31:55,910 --> 00:31:58,990 Ale fajne strony o tym fakt, że rzeczy to tylko zera i jedynki, 704 00:31:58,990 --> 00:32:01,270 są takie, że wszystko jest zer i jedynek. 705 00:32:01,270 --> 00:32:05,330 >> Więc można wziąć plik zawierający poprawne zer i jedynek, które chcesz 706 00:32:05,330 --> 00:32:10,390 gdzieś w nim, i użyć tego odcinka zer i jedynek w funkcji Suma. 707 00:32:10,390 --> 00:32:11,480 >> Co mam na myśli? 708 00:32:11,480 --> 00:32:15,755 To znaczy można zrobić plik obrazu, który ma prawidłowy cykl zer i 709 00:32:15,755 --> 00:32:17,120 te, które drukują coś się do obrazu. 710 00:32:17,120 --> 00:32:20,070 I jeden program może interpretować to obrazu, ale można go zinterpretować, jeśli 711 00:32:20,070 --> 00:32:22,040 chcesz, jako funkcję suma. 712 00:32:22,040 --> 00:32:27,010 >> Więc jeśli chcemy otworzyć, dla Na przykład, ten obraz. 713 00:32:27,010 --> 00:32:37,440 Chodźmy, Hello Kitty. 714 00:32:37,440 --> 00:32:38,810 Wspaniały mały obraz. 715 00:32:38,810 --> 00:32:42,260 Tutaj jest, że ciąg zer i jedynek. 716 00:32:42,260 --> 00:32:45,500 Te 72 zer i jedynek istnieje w tym obrazie. 717 00:32:45,500 --> 00:32:47,695 >> Więc co można zrobić, to, to napisz - 718 00:32:47,695 --> 00:32:50,510 719 00:32:50,510 --> 00:32:51,760 Muszę pamiętać, gdzie są. 720 00:32:51,760 --> 00:32:54,550 721 00:32:54,550 --> 00:32:55,720 Znajdę, że w sekundę. 722 00:32:55,720 --> 00:32:57,840 Ale my - 723 00:32:57,840 --> 00:32:59,440 pozwól mi dowiedzieć się, gdzie one są. 724 00:32:59,440 --> 00:33:00,020 Jeden sek. 725 00:33:00,020 --> 00:33:01,270 Zróbmy - 726 00:33:01,270 --> 00:33:05,800 727 00:33:05,800 --> 00:33:07,240 >> PUBLICZNOŚCI: [niesłyszalne]. 728 00:33:07,240 --> 00:33:08,490 >> Głośnik: Dzięki. 729 00:33:08,490 --> 00:33:24,240 730 00:33:24,240 --> 00:33:28,740 Jeśli więc wykonać ten program, który zamiast czyta w pliku, to idzie 731 00:33:28,740 --> 00:33:33,160 do tego wskaźnika w pliku. 732 00:33:33,160 --> 00:33:35,500 A potem znowu, tak jak mysum, wykonuje dwa numery. 733 00:33:35,500 --> 00:33:41,410 Możemy dodać numery dokładnie tak samo jak robiliśmy wcześniej, który idzie do 734 00:33:41,410 --> 00:33:44,850 pokazać, jak fakt, że na koniec dnia, wszystkie te rzeczy są 735 00:33:44,850 --> 00:33:45,350 zer i jedynek. 736 00:33:45,350 --> 00:33:48,170 I to jest, jak wybrać do ich interpretacji. 737 00:33:48,170 --> 00:33:50,770 >> A jeśli rzeczywiście szukać na tym zdjęciu - 738 00:33:50,770 --> 00:33:52,930 niech powiększyć trochę. 739 00:33:52,930 --> 00:33:53,720 Czy każdy może go zobaczyć? 740 00:33:53,720 --> 00:33:57,570 Można zauważyć tu, tam niektóre dziwne rozmazywanie. 741 00:33:57,570 --> 00:34:00,130 742 00:34:00,130 --> 00:34:02,290 Chodźmy - jest oryginalny obraz. 743 00:34:02,290 --> 00:34:04,540 Zauważysz, tutaj nie ma smug. 744 00:34:04,540 --> 00:34:08,420 To jest kod do funkcji SUMA, jest to, że trochę rozmazywanie tam. 745 00:34:08,420 --> 00:34:13,449 >> I rzeczywiście, jeszcze raz, jeśli nauczysz się więcej o tym, zdasz sobie sprawę, że ten 746 00:34:13,449 --> 00:34:18,270 Hello Kitty, który ma jeszcze większe rozmazywanie, ma kod, który może przejąć 747 00:34:18,270 --> 00:34:21,800 komputer, jeśli nie jest chroniony odpowiednio. 748 00:34:21,800 --> 00:34:23,920 Więc rzeczywiście można uruchomić tego. 749 00:34:23,920 --> 00:34:25,380 Nie idę, aby go uruchomić teraz. 750 00:34:25,380 --> 00:34:30,600 Ale można uruchomić tego Witaj Kitty obraz, a może 751 00:34:30,600 --> 00:34:32,429 przejąć kontrolę nad komputerem. 752 00:34:32,429 --> 00:34:35,159 >> Więc to wszystko na pokaz. 753 00:34:35,159 --> 00:34:38,560 Czy ktoś ma jakieś pytania, komentarze, obawy? 754 00:34:38,560 --> 00:34:39,515 Myślę, że ten materiał jest fascynująca. 755 00:34:39,515 --> 00:34:41,500 To zainspirowało mnie, aby dowiedzieć się więcej. 756 00:34:41,500 --> 00:34:44,980 Gorąco polecam, jeśli jesteś zainteresowany w ogóle na CS, mów do mnie. 757 00:34:44,980 --> 00:34:50,250 Mimo, że jestem wiedza o społeczeństwie Koncentrator, jestem CS, wtórne, tak 758 00:34:50,250 --> 00:34:52,340 I nadal nie wiemy trochę. 759 00:34:52,340 --> 00:34:53,810 Ale na pewno wie, co Zajęcia należy podjąć. 760 00:34:53,810 --> 00:34:57,940 Myślę, że to wszystko jest bardzo interesujące, i zachęcam was, oczywiście, do 761 00:34:57,940 --> 00:35:00,330 dowiedzieć się więcej, jeśli jesteś zainteresowany. 762 00:35:00,330 --> 00:35:02,090 >> OK, mam jedną, ostatnią rzecz. 763 00:35:02,090 --> 00:35:05,530 764 00:35:05,530 --> 00:35:05,870 Przepraszam. 765 00:35:05,870 --> 00:35:06,460 Masz pytanie? 766 00:35:06,460 --> 00:35:10,010 I nie zatrzymać się i czekać, czy ktoś miał jakieś pytania odnośnie tego. 767 00:35:10,010 --> 00:35:13,220 768 00:35:13,220 --> 00:35:16,900 >> Czy ktoś będzie CS Koncentrator? 769 00:35:16,900 --> 00:35:18,580 Lub o tym myśleć? 770 00:35:18,580 --> 00:35:20,730 Raz, dwa, trzy, cztery. 771 00:35:20,730 --> 00:35:21,620 Jeden - tylko jeden. 772 00:35:21,620 --> 00:35:24,680 Anny jest tylko ręka, która jest podniósł autorytatywnie. 773 00:35:24,680 --> 00:35:27,640 774 00:35:27,640 --> 00:35:29,390 OK, to jest fajne. 775 00:35:29,390 --> 00:35:30,110 Assam, co zamierzasz zrobić? 776 00:35:30,110 --> 00:35:33,220 >> PUBLICZNOŚCI: [niesłyszalne]. 777 00:35:33,220 --> 00:35:33,910 >> Głośnik: Constantine? 778 00:35:33,910 --> 00:35:34,990 >> PUBLICZNOŚCI: Fizyka. 779 00:35:34,990 --> 00:35:36,720 >> Głośnik: Wow, to było szybkie. 780 00:35:36,720 --> 00:35:40,770 Miałeś złe doświadczenia w CS50? 781 00:35:40,770 --> 00:35:42,015 [Niesłyszalne], co zamierzasz zrobić? 782 00:35:42,015 --> 00:35:42,980 >> PUBLICZNOŚCI: Nie mam pojęcia. 783 00:35:42,980 --> 00:35:43,924 >> Głośnik: Curt? 784 00:35:43,924 --> 00:35:45,900 >> PUBLICZNOŚCI: Econ lub CS. 785 00:35:45,900 --> 00:35:46,910 >> Głośnik: Econ lub CS. 786 00:35:46,910 --> 00:35:47,840 Tom? 787 00:35:47,840 --> 00:35:48,385 >> PUBLICZNOŚCI: robię Stat. 788 00:35:48,385 --> 00:35:48,950 >> Głośnik: Stat? 789 00:35:48,950 --> 00:35:50,100 OK. 790 00:35:50,100 --> 00:35:51,000 Co u ciebie? 791 00:35:51,000 --> 00:35:51,310 >> PUBLICZNOŚCI: Ja? 792 00:35:51,310 --> 00:35:51,750 >> Głośnik: Tak. 793 00:35:51,750 --> 00:35:52,190 >> PUBLICZNOŚCI: Stat. 794 00:35:52,190 --> 00:35:52,520 >> Głośnik: Stat. 795 00:35:52,520 --> 00:35:53,500 Och, proszę. 796 00:35:53,500 --> 00:35:55,200 Tom, porozmawiaj Alden. 797 00:35:55,200 --> 00:35:56,932 Emily, co ty? 798 00:35:56,932 --> 00:35:57,396 >> PUBLICZNOŚCI: Biomedyczna - 799 00:35:57,396 --> 00:36:00,178 >> Głośnik: Czy jesteś w tym rozdziale? 800 00:36:00,178 --> 00:36:03,040 >> PUBLICZNOŚCI: Nie. 801 00:36:03,040 --> 00:36:04,530 >> Głośnik: OK, to jest Emily. 802 00:36:04,530 --> 00:36:05,670 Ona jest moim przyjacielem. 803 00:36:05,670 --> 00:36:10,080 Najwyraźniej nie, że dobry z przyjacielem, bo ona daje mi ciężko. 804 00:36:10,080 --> 00:36:13,223 Możesz być milszy dla mnie z przodu wszystkich, mój uczeń - 805 00:36:13,223 --> 00:36:14,580 >> PUBLICZNOŚCI: Robię swoje Q przewodnik. 806 00:36:14,580 --> 00:36:14,870 >> Głośnik: Naprawdę? 807 00:36:14,870 --> 00:36:15,510 Uh oh. 808 00:36:15,510 --> 00:36:17,224 OK, jesteś niesamowity. 809 00:36:17,224 --> 00:36:19,380 Kocham cię tak bardzo. 810 00:36:19,380 --> 00:36:20,600 O rany. 811 00:36:20,600 --> 00:36:28,320 >> W każdym razie, ja, wczoraj, jak wszystko - 812 00:36:28,320 --> 00:36:32,220 Jestem pewien, że każdy wydaje się naprawdę Podkreślił teraz. 813 00:36:32,220 --> 00:36:35,970 Nie wiem, jest studentem pierwszego roku - są wy uczucie podkreślił? 814 00:36:35,970 --> 00:36:36,855 Czuję podkreślił. 815 00:36:36,855 --> 00:36:37,980 To było jak, idziesz do domu na Święto Dziękczynienia. 816 00:36:37,980 --> 00:36:40,660 Jesteś jak, mam zamiar robić te wszystkie rzeczy. 817 00:36:40,660 --> 00:36:41,530 >> PUBLICZNOŚCI: To jest tak różne. 818 00:36:41,530 --> 00:36:42,560 >> Głośnik: Tak, i wrócisz. 819 00:36:42,560 --> 00:36:45,290 Jeff, nie czujesz się w ten sposób? 820 00:36:45,290 --> 00:36:46,610 >> PUBLICZNOŚCI: Myślałem Zrobiłbym trochę. 821 00:36:46,610 --> 00:36:48,660 >> Głośnik: OK, świetnie. 822 00:36:48,660 --> 00:36:51,650 Więc wracam, i nie mają zrobił nic. 823 00:36:51,650 --> 00:36:53,260 I to wszystko bardzo stresujące. 824 00:36:53,260 --> 00:36:55,640 I obawiam się, szczerze zaniepokojony, o to, czy jestem 825 00:36:55,640 --> 00:36:57,380 zamierza zakończyć wszystko, co mam do. 826 00:36:57,380 --> 00:37:01,750 Ale ostatniej nocy, nie byłem zestresowany, Byłem trochę smutny. 827 00:37:01,750 --> 00:37:04,520 Tak jak napisałem w moim dzienniku o co byłem smutny. 828 00:37:04,520 --> 00:37:08,020 I byłem smutny o tej sekcji w tej klasie zbliża się do końca. 829 00:37:08,020 --> 00:37:11,100 >> Więc ja po prostu się czytać dla was mały fragment z mojego dziennika, 830 00:37:11,100 --> 00:37:12,950 z ostatniej nocy. 831 00:37:12,950 --> 00:37:17,400 Czy mogę dostać jakieś serwetki, niektóre tkanki z Tomem? 832 00:37:17,400 --> 00:37:18,040 Nie będę płakać. 833 00:37:18,040 --> 00:37:19,720 I nie płacz. 834 00:37:19,720 --> 00:37:22,030 Nie, że nie można płakać, Ja tylko nie płacz. 835 00:37:22,030 --> 00:37:24,040 Ja nawet nie wiem, czy moja łza gruczoły pracował - łzowych. 836 00:37:24,040 --> 00:37:25,630 Nie płakała w długim czasie. 837 00:37:25,630 --> 00:37:26,510 >> PUBLICZNOŚCI: [niesłyszalne]. 838 00:37:26,510 --> 00:37:28,920 >> Głośnik: OK, dzięki. 839 00:37:28,920 --> 00:37:30,070 OK, jest trochę przedmowa - 840 00:37:30,070 --> 00:37:32,480 istnieje kilka innych części mojego dziennika wpis, bo staram się każdego czasopisma 841 00:37:32,480 --> 00:37:33,600 noc zanim dostałem się do łóżka. 842 00:37:33,600 --> 00:37:34,900 Gorąco polecam w dzienniku. 843 00:37:34,900 --> 00:37:38,600 To pomaga przetwarzać rzeczy, a także być bardzo wdzięczni dnia. 844 00:37:38,600 --> 00:37:43,063 I to sprawia, że ​​o wiele łatwiej szukać powrót na dzień i uświadomić sobie, że 845 00:37:43,063 --> 00:37:44,240 było wiele dobrego rzeczy, które się stało. 846 00:37:44,240 --> 00:37:47,240 Nawet jeśli czujesz się naprawdę podkreślił w nocy lub bardzo zdenerwowany, lub 847 00:37:47,240 --> 00:37:49,022 naprawdę smutne i zmęczone. 848 00:37:49,022 --> 00:37:50,272 >> Och, mój Boże. 849 00:37:50,272 --> 00:37:52,546 850 00:37:52,546 --> 00:37:54,400 Ja nawet nie wiem, czy to jest napisane, że dobrze, bo nie sprawdzane go. 851 00:37:54,400 --> 00:37:55,780 Ale będziemy go czytać. 852 00:37:55,780 --> 00:37:59,950 I zazwyczaj nie czytają moje czasopismo, oczywiście. 853 00:37:59,950 --> 00:38:03,720 >> "Jutro nauczę moja ostateczna Sekcja CS50 roku. 854 00:38:03,720 --> 00:38:05,860 To szalone, jak szybko leci czas. 855 00:38:05,860 --> 00:38:09,900 Jednak ja uderzył, jak różne moje doświadczenie w tym roku było nauczanie 856 00:38:09,900 --> 00:38:11,365 niż kiedy byłem na drugim roku. 857 00:38:11,365 --> 00:38:14,120 Na początek, na pewno znać materiał lepiej. 858 00:38:14,120 --> 00:38:16,820 Ale nie mów mojej pierwszej kohorty studentów, że. 859 00:38:16,820 --> 00:38:20,030 Co ważniejsze jednak, zdałem sobie sprawę, że radość, która pochodzi od sytuacji 860 00:38:20,030 --> 00:38:23,160 w przedniej części pomieszczenia co zaczyna jako obcych, ale kończy się jak na 861 00:38:23,160 --> 00:38:27,150 najmniej, Facebook przyjaciele, nie pierwszego roku fuks. 862 00:38:27,150 --> 00:38:29,970 Przeciwnie, jest to od wiedząc, że w jakiś mały sposób, pomagasz 863 00:38:29,970 --> 00:38:32,980 utalentowana, miło, wspaniały, i namiętne ludzie uczą się nieco więcej 864 00:38:32,980 --> 00:38:34,750 o informatyce. 865 00:38:34,750 --> 00:38:37,480 >> Przesunięcie że jesteś po prostu żarówki bit w gnieździe tak, że jest w stanie 866 00:38:37,480 --> 00:38:42,120 świecić jaśniej niż ty, albo oni, mógł sobie wyobrazić w semestrze początku. 867 00:38:42,120 --> 00:38:45,390 Pomagasz włączyć te marszczy brwi do góry nogami w dół i zadając pytania, które 868 00:38:45,390 --> 00:38:49,240 wsparcie, ale nadal pozwalają studentów stanąć na własnych. 869 00:38:49,240 --> 00:38:52,190 >> To nie jest na pewno przesadą powiedzieć, że to jest mój ulubiony odcinek 870 00:38:52,190 --> 00:38:53,190 część tygodnia. 871 00:38:53,190 --> 00:38:57,930 A nawet, że waham się powiedzieć, że jest wszystko, co 17:30 każdego tygodnia, wiedząc, 872 00:38:57,930 --> 00:39:00,640 że to będzie zbyt długo Do następnego spotkania. 873 00:39:00,640 --> 00:39:02,740 >> Mimo, że jestem bardzo wdzięczny każdy, kto mi to podano 874 00:39:02,740 --> 00:39:05,010 możliwość dzielenie się z innymi. 875 00:39:05,010 --> 00:39:07,340 Do Dawida, za cierpliwość i zaufanie. 876 00:39:07,340 --> 00:39:11,040 Do ekipy filmowej i produkcji, dla co mnie spojrzeć nieco szacunku. 877 00:39:11,040 --> 00:39:15,380 I, co najważniejsze, do moich studentów, bez których bym nie mają powodów do 878 00:39:15,380 --> 00:39:17,890 spędzić 10 godzin na zastanawianie się najlepiej sposobem na wskaźniki, lub rozłożyć 879 00:39:17,890 --> 00:39:20,330 Stół z delfinami, za pośrednictwem JavaScript. 880 00:39:20,330 --> 00:39:22,620 Jak zawsze, to było błogosławieństwo. " 881 00:39:22,620 --> 00:39:25,420 >> Więc z tym, dziękuję wam. 882 00:39:25,420 --> 00:39:29,000 Do zobaczenia wszystkim na targach CS50 i hackathon, jeśli jesteś tam. 883 00:39:29,000 --> 00:39:32,020 A jeśli masz pytania, będę trzymać wokół dopóki nie ma więcej. 884 00:39:32,020 --> 00:39:33,760 Ale dziękuję wam za wspaniały rok. 885 00:39:33,760 --> 00:39:37,290 >> [Aplauz] 886 00:39:37,290 --> 00:39:38,540 >> Głośnik: mogę płakać. 887 00:39:38,540 --> 00:39:40,800