SPEAKER: OK, így, akkor nem hiszem el, de a múlt héten, hétfőn, a Pierce, azt lent volt a pincében. Én soha nem megy Pierce. És én nem megyek vissza, mert a Hagytam a dolgaimat egyedül, mint öt percet, és valaki ellopta a számítógép és a telefon az én hátizsák. Ami azt jelenti, kaptam vissza, és a akkor kevesebb, mint egy héttel később ellopták újra. Aztán kapott kapcsolva - Find My iPhone továbbra is hogy haszontalan. Szóval továbbra is ösztönzi , hogy ne használja azt. Kiderült az egyszer, és ez volt a MIT, mint 15 perccel később, és a személy nevezte ezt a telefonszámot, hogy megmutatta fel az én AT & T hívásnapló. Szóval felmentem a netre, az úgynevezett a telefont számot, és egyenesen erre üzenetrögzítő spanyolul. És én még nem hallottam róla óta. Szóval volt, hogy egy új számítógép és a telefon. Tudom. Igen. De ha akartok chip az én számítógép alap után, ezért Már kérdeztem itt. Csak vicceltem. De ez nagyon szomorú és traumatikus. De ez mind vissza most, és ez volt az oka, A p-készlet 8 tartott ilyen sokáig, mert a Nem volt egy számítógép. És valaki ellopta. És én e-mailben, kérve, ha volna minőségű a p-be 8. De azt mondta, nem. És azt gondoltam, lehet, hogy a számítógépet? És ők, mint nem. Csak vicceltem. OK. Ez az utolsó rész, és én néhány - már csak három dolog a napirenden. Fogunk beszélni egy kicsit a Q útmutatót. Ezután fogunk tölteni 15 perc hűvös demo. Majd megyünk mind azt mondják, búcsút egymással. Nem igazán szükség a számítógépek vagy egy toll vagy papír, hogy tudomásul veszi, vagy kövesse végig. Tehát feltételezem, ha a számítógép fel, akkor te vagy a Facebook-on. Csak mondom. Hacsak nem Töltsd ki az Q útmutató, amely az első. A Q útmutató meg van nyitva. Már volt egy e-mailt róla. Miután minden a Q cucc benyújtották a Az év végén, kapok az összes Q megjegyzések pontszámok mindenkitől aki úgy dönt, hogy adjon nekem visszajelzést. És így, ha megy a Q - Nem tudom, hogy meg tudod csinálni, Jeff, mert te és a hosszabbító diák. De ha megy a Q, ha nem csinált ilyet, akkor vedd meg tanár, ami David Malan. Nem kell mást tennie vele. És akkor vedd TFs. És akkor vedd annyi TF, amit akar. De vannak 60 minket. Nem kell, hogy vegye mindenki. Tudod csak értem, vagy csak válasszon egy Néhány más emberek, ha azt szeretnénk, hogy nekik visszajelzést is. És akkor kap pontszámot az összes ilyen különböző tengelyek, és akkor hagyja őket visszajelzést. És akkor, mint egy hónappal később, Hozom minden visszajelzést. És csakúgy, mint a visszajelzést voltál hogy nekem az egész félévben, azt olvassa el ezt. És ez nagyon hasznos, és ez segít nekem nő, mint egy tanár és mint egyén. Tehát, kérem, szánjon egy kis időt rá. Mi csak itt lesz a, mondjuk, 30 perc alatt. Tehát, ha szeretné, az a végén ez, hogy hogy öt perc, és írja ki Q, mert nem veszi több időt igényel, mint ezt. Az csodálatos lenne, és azt is kap a fokozatok vissza gyorsan, ha töltse ki a Q. Így a legtöbb tettél ilyet - vagy nem, mintegy fele meg volna ilyet. De ha egy újonc, ez az, mi az. Ez lesz ugyanaz az összes osztály. Tedd meg. Tart öt percig. De, ha ez egy kicsit komolyan, nem ez a legrosszabb dolog a világon, mert én biztosan vegye komolyan. Tehát, ha hagysz egy mosolygó arc, Én értékelem. De azt is értékelem, ha hagyott több, mint egy mosolygó arc. De ez rajtad áll. El sem tudom mondani, hogy - vagy, mint egy nagy smiley szemben, a tőke D. Ez lenne még jobb lesz. OK, ez minden, amit a Q. Ha bármilyen kérdése van, akkor kérje nekem, de elég magától értetődő. Csak, kérjük, töltse ki. Én nagyon értékelem, és ez nagyon sokat jelent nekem. OK, ez az, amit mi fogunk költeni 15 perc alatt megy át. Meg fogom mutatni neked egy kódot. Azt hiszem, ez nagyon klassz, és ez van nekem még izgatott a számítástechnikában. Szóval remélem, hogy ezt a ugyanaz mindenkinek. Fogunk nyitni - és mindezt code Küldök neked később. De mi csak fog nyitni - Én vagyok az én csatlakozó - fogunk nyitni a program úgynevezett [? MySum. ?] Mindenki tud olvasni, hogy vagy kéne, hogy ez nagyobb? Tud valaki mondani nekem, hogy mi ez a kód csinálni, amikor elindul, vagy mi ez program nem, amikor elindul? [? Avi,?] Mit gondol ez fog csinálni? Befejezés rágás. Önnek nem kell beszélni nyitott szájjal. Közönség: Van egy csomó érvek, meg összege közülük visszatérő összeget, majd nyomtassa ki? Vagy vesz két érvet, és akkor ez [hallhatatlan]. És akkor nyomtat ki, amit az eredmények. SPEAKER: Close, nagyon közel. Ki akar felvenni [? mi Avi?] azt mondta:? Szüksége van, hogy ezt a programot minden parancssori argumentumok? Közönség: Nem. SPEAKER: Nem. Mi történik, ha nem adja meg minden parancssori argumentumok? Én csak írni dot perjel MySum. Közönség: 1 + 2 = 3. SPEAKER 1 és 2 = 3. És ez lesz kinyomtatni, hogy ki. Ez pontosan így van. Látni fogod, hogy a nyomtatási f sort az alján. Ez majd nyomtassa ki a, b, és akkor az összeg a és b. És azt hiszem, ha feltételezzük, hogy összeget megfelelően működik. Jó feltételezés. OK, és mi történik, ha hogy ez milyen érv? [? Manu? ?] Közönség: Nem lesz hozzá, amit Az első érv az, hogy b. Vagy a 2., sajnálom. SPEAKER: Igen, 2-re. Tudja valaki, hogy mit strtol csinál? Ez alapvetően atoi. Atoi tulajdonképpen egy divatos változatát - vagy egy egyszerűbb változata strtol. De ténylegesen használja strtol. És rájöttem, hogy ki, mert szerettem volna valami ilyesmit atoi, majd amikor nem atoi, olvastam itt. És találtam: "ezt a viselkedést ugyanaz, mint a "strtol. Tehát alapvetően atoi a minden cél és szándék. És látod, én is használja null 10. Ez valóban lehetővé teszi, hogy a szöveg, és kapcsolja be a számot, és válassza mi alapján akarsz csinálni be! Tehát ez a 10-es alapú itt. Tudtam volna alapja két decimális, alap 16 hexadecimális. Ez elég jó. De a hosszú történet rövid, ez úgy két számokat és hozzáadja őket. Szóval futtatni. És akkor is észre, ott néhány dolog - így van egy Makefile-t itt, és ha nyitott, hogy akár néhány dolog észre fogod venni különböző. Különösen ez az érvelés itt, akkor valószínűleg még nem láttam ilyet. Általában állítunk össze a dolgokat A kötőjel nulla, nulla. Dash nulla, nulla, azt ne tedd minden optimalizálás, fordító. Ne próbálja meg, és semmit képzelet, vagy tehetik más, sokkal gyorsabban, vagy kap megszabadulni változók, amelyek szükségesek. Ne optimalizálni a kódot egyáltalán, Kérek a harmadik szint optimalizálás. Ezért azt kérem fordító végezzen sok optimalizálás. Meg lehet változtatni, hogy a Makefile Ön ezt a kódot, ha azt szeretné, hogy különböző dolgokat. Amit mi megmutatjuk a második. Így futunk az összeg 1 plusz 2 plusz 3. Valaki adjon nekem két érvet. Közönség: 4. és 5. sz. SPEAKER: 4. és 5. sz. Köszönöm. Nagyszerű, hogy működik. Milyen más jó érv próbálni, hogy biztos, hogy ez működik? Valaki? Közönség: 0-ra. SPEAKER: 0 és? Közönség: Negatív 3.. SPEAKER: működik. De azok is jó választás. OK, menjünk vissza. Ez mysum.c. Észre fogod venni, van még valami, nevű sumfunction.c. És ez azt mondja, jaj, van valami meghatározott sumfunction.c. Én nem ezt a fájlt itt mert nem kell. De én hivatkoznak rá, amikor össze, amit észre. Nézzük lapozzunk felfelé. Láttuk, amikor össze mysum jobb ott, mi kapcsolódik a bináris sumfunction.o. És nem kell a header file mert persze, ott van a függvény deklaráció. Így éles közé általában csak helyezi egy függvény deklaráció. Itt már csak tedd egyenesen a kódot. És így kell tennie, hogy kapcsolat A bináris, amit én. Minden találgatások arra, ami A sumfunction.c? Mit kódot írtam A sumfunction.c? Közönség: [hallható]. SPEAKER: Minden találgatások? Igen? Közönség: Azt hiszem, meghatározza néhány [hallható]. Hangszóró: Igen. Szóval, én írni int összeget int a. Írom ezt a sort, aztán nyílt zárójel, zárt kapcsos zárójel. Mit gondolsz, írok benne azokat a kapcsos zárójelek, benne ezt a funkciót? Igen? Közönség: Return egyenlő a. Processzor: Ez egy nagyon jó kitalálni. Aki azt hiszi, [? Manu?] Van igaza? Azt mondja, vissza plusz b. OK, nem mindenki. [? Akshar,?] te is? Biztos vagy benne? OK. Mi az? Közönség: Ön írta, hogy rossz. SPEAKER: Nem, én nem. Igen, csak vicceltem. Igazad van. Pontosan mit mond. Ez vissza plusz b. Ez teszi sok értelme. OK, menjünk vissza. Látjuk, hogy a header - ez a visszatérési típus. Ne feledje, láttuk, hogy az első napon, az vissza típusát a funkció, de megy neve előtt az int függvény. Itt írtam int. Mit gondol, mi történik, ha ezen a funkció, nem írom int, de a Írok aláíratlan? A különbség természetesen az, hogy unsigned csupán pozitív egész számok, és int lehet pozitív vagy negatív. Szóval már megváltoztatta a visszatérés típusú ez a funkció. Ez a kód nem egyezik ez a visszatérési típus itt. Mit gondol, mi történik amikor össze? Meg kell kiabálni rám. Nincs kiabálás. Mi a helyzet, amikor fut a program? Csináljuk előtt 0 negatív 3, vagy negatív 1. Még mindig működik, még akkor is, ha azt mondom, ez visszatérő előjel nélküli egész. Nyilvánvalóan ez nem tér vissza előjel nélküli egész. Ez visszatérő aláírt egész. Ez visszatérő negatív 1. OK, ez furcsa. Mi lenne, ha menni itt csinálni? Úgyhogy mindent megváltoztatott az int előjel nélküli. Ez csak akkor előjel nélküli egészek. De még mindig hiszem, hogy fog futni? Közönség: Igen. SPEAKER: Nem fog. Ez őrültség. És át világosan kijelölt egész szám, akkor át két aláírt egész, még mindig működik. OK, valami ötleted, hogy miért is működik, vagy mi folyik itt? Igen, Jeff. Közönség: Van valami köze az optimalizálás, hogy kiemelve. SPEAKER: Nem. Mi lehet változtatni az optimalizálás, akkor is működik. Meg tudom csinálni, hogy az Ön számára, de - Közönség: én viszem a szót rá. SPEAKER: Igen. Ha megnyitja a Makefile-t itt, Megváltoztattam az optimalizálás. Így meg tudod csinálni kötőjel nulla, nulla. Ez továbbra is működni fognak. Egyéb gondolatok? Ti minden várható a munka, így miért azt várod, hogy működik? Nem? Csend. OK. Meg kell várni, hét másodperc, mert feltetted a kérdést. Tehát a jó dolog a C, és akkor már valószínűleg tapasztalt előtt -, akkor Lehet, hogy nem, ez a hatalom legyen az első alkalommal. De mint mindannyian tudjuk, amikor írok valami C, ez nem menti, mint a ez a számítógép. Ez mentett egyesek és nullák. Ez megy a C kódot assembly kódot. Látta valaki assembly kódot korábban, gépi kódban? Majd nézd meg a második. Ez megy a C kódot assembly kódot. És tudjátok, a szakaszok Az összeállítás. Meg kellett megjegyeznünk, hogy egy kvíz, majd írd ki a kvíz nulla. A legtöbb ember tévedett. Azt hiszem, a srácok azt szögezték. De ti vagytok a legjobb rész A vetélkedők, mellesleg. Ami félelmetes. Nem fog bántani. Ne aggódj. De ez nagyon klassz. Szép munka. Így megy ez az assembly nyelvet, akkor megy egyesek és nullák. És az egyesek és nullák menti a számítógépet, és ez az, ami mentett az a.out, vagy ebben az esetben, A futtatható fájl. És a számítógép fut, egyesek és nullák. Nem igaz? Megtanultuk ilyet. Tehát a jó dolog az, hogy ez előjel nélküli gondolat, az ötlet a típusú ints előjel nélküli, satöbbi, satöbbi, ez itt a C nyelvet. Azok vannak. De típusai nem léteznek az egyesek és nullák. Típusok nem is igazán létezik Az assembly nyelvi szint. Szóval ez valami, ami létezik a C világban, de nem létezik a számítógépen világ, vagy a processzor a világ. Ez valami absztrakció, hogy a C nyelv benne, hogy a mi életét. Így a végén a nap, tudok írni sok különböző dolgot itt, és ez nem tesz különbséget. Mert ez csak azért létezik, , a C világon. Nem létezik a egyesek és nullák világban. És a program végrehajtása a az egyesek és nullák világban. Tehát az agyad nyilvánvalóan nem fújt még. De azt hiszem, ez jó. Igen, Jeff. Közönség: Tehát, ha ahelyett, hogy Ennek int, te char. És te - SPEAKER: Csináljuk egy másodperc. Közönség: Mert akkor kap egy előjel nélküli lesz a negatív 128 127 vagy 0-tól 255. SPEAKER: Tehát char problematikus. Tudja valaki, hogy miért char lenne Problémás, és ez valóban változnak a dolgok azok, és nullák világban? Közönség: Mivel a méret a karakter. SPEAKER: mérete char 1 lehet. Tehát aláíratlan is 4 byte. Tehát char volna rontani a dolgokat. De mi az, 4 bájt, ami kapcsolatos char? Vagy, hogy hozzáteszi, egy további - ha nem tud még egy karakter után char. Közönség: Char csillag. SPEAKER: Char csillag 4 bájt. Szóval valami ez egy char csillag. Tehát ez valószínűleg működik, de mi fog tenni valamit, még őrültebb, mint ez. Véleményem szerint, őrültebb. Már most írt egy függvényt, amely egy mutatót, és tart a mutató és előjel nélküli értéke - Majd ezen változtatni vissza int, így nem vagyunk hogy túl sok változás egyszerre. És van egy sor úgynevezett, indexek a tömb, és visszatér a címét. Láttuk, ezek a gazdasági szereplők előtt. Ez az, mit gondolsz, ez megy csinálni, cserébe, amikor elindul? Mit gondolsz, hogy fog csinálni? Minden találgatások? Közönség: segfault. SPEAKER: Mi van? Segfault? Ez egy jó tipp. Tom ugyanezt mondja. Minden más tipp? Aki azt hiszi, hogy meg fog nem ugyanaz a dolog? Aki azt hiszi, hogy meg fog segfault? Ez nem ugyanaz a dolog. Bocsánat. De, persze, teszünk 1. és 2.. És azok is érvényes, nem igaz? Lássuk, mi megy a második helyen egy tömb. De mi van, ha csináltunk b negatív szám? Ez valószínűleg jobb találgatás valami segfaulting. Még mindig működik. OK, ez most őrült. Ez egyformán érvényes összeg funkciót. Ez nem pontosan ugyanolyan dolog mint visszatérés a és b. Tud valaki magyarázni, hogy ez miért jó Sum függvény, vagy hogy ez miért működik? Mi történik itt? Miért ez nem pontosan ugyanaz dolog, mint a régi összeget funkciót? [? Akshar,?] mi folyik itt? Közönség: Mert, ha van egy olyan, ami egy címet a hely memória - és ha nem a jelet, akkor megy, hogy a memória címre. És ha megy a B, te ilyen mozgó lépésre, hogy a memória cím, te vissza ezt. Szóval tényleg, sőt, hozzátéve, a és b [nem hallható]. Hol vannak a szokásos műveletek azon a visszatérés? Mint, hol a zárójelek esik? Ez a visszatérés a címét a előtt vagy után [nem hallható]? SPEAKER: Ez lesz az index a b - vagy index egy -, majd vissza a címet. OK, így nem mindenki érti mi [? Akshar?] mondta, és elmagyarázta, hogy ez miért működik? Én nem az első alkalom, hogy valaki elmagyarázta ezt nekem. Vajon bárki, mint egy kép magyarázza ezt? Megyünk, hogy képet, és Nem markerek, ez nagyszerű. Talált néhány. Tehát van egy sor, ami egy sor doboz. Az első index 0, index 1, 2, 3, 4, pont, pont, pont. Egy tipikus tömb. És ezen kívül, hogy miután indexek, mindannyian memória címeket. Szóval hogy ez a memória cím 13, 14, 15, 16, 17, satöbbi. Mindenki itt van eddig. Tehát egy olyan címet. A neve egy tömb, a mutató menti ott. Ez a mutató, ez egy memóriahely a kezdete a tömb. Tehát, ha ez a tömb, lenne egy 13 értéket. És, persze, tudjuk adni egy értéket akarunk. Char csillag egy, tudunk adni egy olyan memória cím akarunk. Tudjuk, hogy ez 0, tudjuk, hogy ez negatív 1 - negatív 1 nem létezik, így talán problémás, de akkor látta, hogy még mindig működött. Így tudjuk adni bármennyi akarunk, minden memória cím akarunk. Ezután, int b mondja, OK, menj ez a szám A lépéseket a tömbben. Tehát, ha b értéke 2, és értéke 13, vagyunk a memória cím 13. És megyünk a két lépést, és ezért vagyunk itt. És a jel azt jelenti, visszatérés címét ezen a helyen. És azt a címet, természetesen 15. Így kap 13 plusz 2, vagy b egy plusz, amely 15. A kérdés az, de - Sajnálom. Van, hogy tisztázza a dolgokat miért működik? Közönség: Miért lenne munka folyik - így van egy sor, és megy a negatív index? SPEAKER: Így van. Tehát mi a negatív számok, úgy, hogy az a - Van ennek értelme, bár, az első, [? Avi,?] az Ön számára? Közönség: Igen, én vagyok [Hallható], de - SPEAKER: Igen, ez vissza 15. Ha egy 13 éves volt, a és b: 2, Ez vissza 15. Közönség: Tehát a nulla indexelés nem kérdéssé vált, igaz? Mert mozog a 0-ra. SPEAKER: Így van. Szóval haladunk - így ha b 0, akkor nem mozdul sehova. És épp most tért vissza a címet - ha b 0, ez alapvetően vissza a címet az a. Halad char csillag a és visszatér a címét csak vissza egy, lényegében. OK, a kérdés az, hogy miért a negatív számok a munka? És ez az igazán klassz dolog ezt, mert ez segfault. És ez segfault ha tett ilyesmit. Mondjuk, int. Tehát ez a kód ugyanúgy néz ki, és a kell viselkedni. Lényegében, x egy változó szemetet, így ez viselkedni. Nézzük, hogy ez - hoppá - csillag. OK, most már egyre hibák itt mert már lesz dühös rám, mert már tudja, mi jön. Különösen a második. Címe halmozott memória társul egy helyi változót. Lényegében nem fogok lefordítani ezt, aztán megyek visszavonni csinálni amit csináltál. De mivel mi soha nem elérése, mi a memória helyet, ez nem fog segfault. Mi soha nem nézi, mi van a második doboz, vagy mi van minden dobozban Ennek a tömbnek. Mi csak azt mondja, itt a cím A dolog, amit keres, és vissza a címet. Mi soha nem megy a array nézni az adott helyen. És mert soha nem érjen a memória, nem bajba. Nem kap a segfault. Ha megpróbáltuk ismét érintse meg, hogy memória, érintse meg, mi volt a vagy b - vagy zárójel b, és feltételezve, és egy 0 - 0, ha a volt, még akkor is, hogy lenne elég rossz, mert nem mehetünk le egészen ott. Ha a és b egyaránt 0, és igyekeztünk érintse meg mi volt ott, akkor azt bajba. De ha ne érintse meg, mi van ott, mi csak vissza a címet, az valójában nem fog segfault mert ez lehetővé teszi, hogy végre ezeket a műveleteket. Ez csak akkor lesz mérges rád, és kap szuper dühös, amikor megpróbálja majd érintse meg a a tényleges memória és vissza mi az, hogy a memória helyen. Van ennek értelme? Ez csak egy őrült a C. rész, tehát, van egy több ilyen. Aki azt hiszi, hogy ez jó? Több ember. Ez jó. OK, ez az utolsó. És szeretném, ha elmondaná, hogy a vagy nem gondolom, hogy ez lesz hogy nem ugyanaz a pontos dolog. Én ezeket írta valahol. Én nem memorizálni őket. Lássuk, 8, b 4, 4, 2, 4, 0, 8, 0, 3, 4, 4, 2, 4, 0, 4. Tehát ez egy olyan tömb, most, nem függvény. És ez egy sor, mert van tér zárójelben, nem kapcsos zárójelek. És ez egy sor, milyen? Bárki, hmm? Közönség: A hexadecimális számokat? SPEAKER: De mi a C típus? Mindannyian hexadecimális számokat. Mi a C típus? Azt mondja. Közönség: Ez előjel nélküli karakter. SPEAKER: Jobb, előjel nélküli karakter. És a két hexadecimális számok egy bájt. Tehát ezek az 1, 2, 3, 4, 5, 6, 7, 8, 9 bájt. Ez egy sor 9 bájt. OK, akkor valószínűleg már tudja A válasz erre a kérdésre. De mit gondolsz, történik, ha én vezetem ezt? Mondom, megint csak mysum.c, Várok egy funkciót hogy úgy két egész szám. És én inkább azt az összeget egy sor karakter. Mi fog történni, ha Én vezetem. / Mysum és? Nos, először is, a legtöbben valószínűleg egyetértenek abban, hogy gyártmánya - ó, nem, csak vicceltem. Mit csináltam rosszul? Uh oh. Ez kell kapcsos zárójelek. Így inicializálja a tömböt. Az én hibám. Tehát már láttam azelőtt típus egy C-szintű absztrakció, nem számítógép szintű absztrakció. Így a legtöbb akkor valószínűleg számított rá, hogy tenni, vagy feltételezve, hogy lenne. De mi, amikor elindul. / Mysum? Mi fog történni? Minden találgatások? Közönség: Meg fog nyomtassa ki a szót. SPEAKER: Meg fog nyomtassa ki a szót. Milyen szó? Közönség: [hallható]. SPEAKER: Minden más tipp? OK, nyomtassa ki a kifejezést. Tetszőleges kifejezés. Ez lesz az Ön oldalán. Bárki, aki egy másik becslés? Anna, mi a tipped? Közönség: Nem lesz kinyomtatni - két betű, vagy [nem hallható] egy betű. SPEAKER: Egy levél. Közönség: Lehet számolni, hogy Sok [hallható]? SPEAKER: Kilenc. Nos, én megyek a futtatáshoz. Ez nem pontosan ugyanolyan dolog. Hozzáteszi, a két szám együtt. Nos, nézzük át a két érv. Nem kell érveket. Szóval nem tudom, hol lehetett esetleg hogy ezeket az érveket. De nézzük át a 100 és a 0-ra. És ez ad 100 0. Ez őrültség. Azt hiszem, igen. Negatív 4., ami működik is. Meg tudod csinálni, amit akarsz. Ez ugyanúgy érvényes összeget funkciót. Ez az összeg funkciót. De nem, azt mondod, hogy ez egy sor bájt. Szóval mi folyik itt? Szóval, megint, menjünk vissza ezt az elképzelést , hogy azt mondtuk, a legelején. Menj a C szintű kód, a gyülekezési nyelv, az egyesek és nullák. Ez hexadecimális. De ez tényleg csak egy Sok egyesek és nullák. Ez a 72. egyesek és nullák, ugye? 72. egyesek és nullák. 9. bájt. Minden byte 8 bit. Mindegyik bit egy-vagy nulla. Tehát 72 is, vagy nulla. Épp most írt nekik, mint ez - ahelyett, írásban ki, mint a sok egyesek és nullák. De ez megy a C-szint nyelv, a gyülekezési nyelv, a kódot. És ez kiírja a kódot, valahol, a 72 egyesek és nullák , hogy én írtam itt. Tehát valahol, hogy - menjünk itt - valahol mysum, a program, ott ezek 72 egyesek és nullák, hogy én már írta és mondta el, hogy írjon. Most minden találgatások milyen azok 72. egyesek és nullák jelent? Közönség: Valószínűleg ugyanaz dolog, mint vissza a plusz b. SPEAKER: Valószínűleg ugyanaz dolog, mint vissza a plusz b. Nézzük ellenőrizze, hogy. Derítsük ki, hogyan tette ezt. Tehát, ha megy vissza, azt mondom, futtatni ezt a parancsot, objdump-S sumfunction.o. Menjünk futtatni. objdump - obj, másold. Alapvetően ez adhat nekem amit akarok látni. Ez ad nekem assembly. Ez adja meg az egyesek és nullák. Van egy csomó zászlók. Ez az, megyünk használni most. Dot - ahogy látod a diák - kötőjel tőke S azt mondja, közbeszór, forráskód - ez a sor itt a C - a közgyűlés kódot és az egyesek és nullák. És mi fog futni azt sumfunction.o. Mert könnyebb lesz látni. Again - hmm? Közönség: Ön írta, hogy rossz. SPEAKER: De én valóban megy egyértelmű, hogy egy pillanatra. Én először fog nyitni csak sumfuntion.o. Közönség: Ön írta, hogy rossz az első alkalommal. SPEAKER: Classic. Sum - ez egy kemény szó, mégis. Meg lennél lepve. OK, így ez sumfunction.o. Én sem tudtam mondani. Van egy csomó nulla, egyértelműen sok A nulla, és van néhány más dolog, hogy ez nem nulla. De elsősorban nullák. Úgy néz ki, van valami is. Tehát egyértelműen ez nehezen olvasható. Ez a bináris nyelvet. Nézzük most kinyitni - Mi az? Mit csinálok rosszul? Mondtam varázslat helyesen? OK, ez kínos. Szükségem van egy másodperc kitalálni hogy mit csinálok rosszul. Ez az egyik hiba. Ez furcsa. Ó, miért. Én megyek vissza a kiinduló az egyik, így nézd meg a tárgykód ezt. Mert ez nem igazán fog bármi lehet, amikor csak fel a egyesek és nullák be Ott vagyunk. OK, így mindenki láthatja ezt. Ez a funkció, mint mondtam, eloltotta a C sorokat - forráskód sorok - néhány szerelési útmutató. Itt a forráskód sor. Itt van egy, itt egy másik. Itt a szerelési utasítást. Ez az, amit úgy néz ki. Szerelési útmutató - meg lehet tanulni több ilyen, ha Ön Más CS osztályok, de ők Általában egy utasítás. És akkor a forrás és a cél. És akkor itt van a bináris kód amely megfelel a szerelvény utasítást. Szóval mint látható, ezt az összeget a funkciót, a végén a nap, három szerelési útmutató. Csak három. Egy mov - ez az m-o-v jelentése a Move. Add áll a Hozzáadás gombot. És az r-e-t áll a Return. Tehát az egyik mov, egy kiegészítő, egy vissza. És ezek, mint itt, a nulla és a azok, amelyek megfelelnek az adott kódot. Tehát azok a nullák és egyesek, ha ismeri azokat, akkor csak fel azok egyenesen be És akkor ez lesz a pontosan ugyanolyan dolog. Mivel, a végén a nap, minden te végrehajtása hosszú sorozata nullák és egyesek. És ez az, amit a kód valójában. És az ok - nézzük meg egy dolog. Mondtam, hogy a Makefile-nyitva? Tehát, ha mentünk vissza a kötőjel nulla, nulla itt - Sajnálom, tőke o, a tőke o nulla, nem nulla, nulla. És mi nem teszi, akkor továbbra is ugyanúgy működik. De most, azt veszi észre, hogy van egy sokkal több szerelési útmutató. Azért, mert ismét azt kérte a fordító, hogy ne minden optimalizálás. Szóval még mindig, hogy az összes ilyen nullák és egyesek, és dobja őket, és az, hogy működni fog. Én csak tettem a optimalizálást, mert a ez egy kicsit könnyebb, akkor írni, hogy a tömb. De ez a munka ugyanúgy. OK, mi csinálunk egy utolsó dolog, mert azt hiszem, az a legmenőbb része. Annak ellenére, hogy mindenki világosan Már fúvott és szótlan. Elménk fújt. [Nem hallható] Tehát, ezek a CS egy másik osztály, ami szuper érdekes, hogy vettem - CS61. Én nagyon javasoljuk, hogy vegye. De a jó az egészben az a tény, hogy a a dolgok csak nullák és egyesek, az, hogy minden nullák és egyesek. Szóval lehet, hogy egy fájlt, amely a helyes nullák és egyesek azt szeretné, valahol benne, és használja azt a részét nullák és egyesek összegeként funkciót. Mit értek ez alatt? Úgy értem, amit megtehetsz egy képfájlt, amely rendelkezik a megfelelő sor és nullák is, hogy nyomtatni valamit ki egy képet. És egy program esetleg értelmezni egy kép, de lehet értelmezni azt, ha a szeretnénk, összegeként funkciót. Tehát, ha azt akartam nyitni, a Például, ez a kép. Menjünk, Hello Kitty. Csodálatos kis kép. Itt van az, hogy a szöveg A nullák és egyesek. Azok a 72 nullák és egyesek létezik ez a kép. Szóval, mit tehetek tehát, írni - Meg kell emlékezni, hogy hol vannak. Én meg, hogy a második. De mi - hadd megtudja, hol vannak. Egy pillanat. Csináljuk - Közönség: [hallható]. SPEAKER: Köszönöm. Tehát, ha ezt a programot, amely ehelyett beolvas egy fájlt, majd megy E mutató a fájlban. És akkor megint, csakúgy, mint mysum, úgy két számot. Mi adhat számot pontosan ugyanaz, mint csináltunk korábban, ami megy megmutatja, hogy a tény, hogy a végén a nap, ezek a dolgok nullák és egyesek. És ez csak, hogy hogyan dönt értelmezni őket. És ha valóban meg A kép - nézzük nagyítani egy kicsit. Mindenki tud látni? Észre fogod venni, itt, ott furcsa folt. Menjünk - ez az eredeti kép. Észre fogod venni, itt nincs folt. Ezt a kódot a SZUM függvény, az, hogy a kis folt ott. És valóban, megint, ha többet erről, akkor rájönnek, hogy ez a Hello Kitty, ami még nagyobb piszok, van kód, amely át tudja venni a számítógépet, ha ez nem védi megfelelően. Így valóban futtatni ezt. Nem fogok futni, hogy most. De lehet futtatni ezt Üdvözöllek Kitty képet, és azt is veszi át a számítógépet. Tehát ennyi a demo. Van valakinek bármilyen kérdése van, észrevételeket, problémákat? Azt hiszem, ez a cucc lenyűgöző. Ez inspirált arra, hogy többet. Én nagyon ajánlom, ha érdekel egyáltalán a CS, beszélj hozzám. Annak ellenére, hogy én vagyok a Social Studies Concentrator, én vagyok a CS, a másodlagos, tehát Még mindig tudom, egy kicsit. De azt biztosan tudom, mi osztályokat kell szednie. Azt hiszem, ez az egész nagyon érdekes, és azt javasoljuk, természetesen, a többet, ha érdekel. OK, van egy utolsó dolog. Bocsánat. Bármilyen kérdése? Nem szünet várni, ha valaki Volt bármilyen kérdése van, hogy. Van bárki lesz A CS Concentrator? Vagy gondol róla? Egy, kettő, három, négy. One - egyetlen. Anna az egyetlen kéz, amely az fel hitelesen. OK, ez jó. Assam, mit fogsz csinálni? Közönség: [hallható]. SPEAKER: Constantine? Közönség: fizika. SPEAKER: Hűha, ez gyors volt. Volt egy rossz tapasztalat CS50? [Nem hallható], mit fogsz csinálni? Közönség: Fogalmam sincs. SPEAKER: Curt? Közönség: Econ vagy CS. SPEAKER: Econ vagy CS. Tom? Közönség: csinálok Stat. SPEAKER: Stat? OK. Mi vagy te? Közönség: Me? SPEAKER: Igen. Közönség: Stat. SPEAKER: Stat. Ó, tessék. Tom, beszélj Alden. Emily, mi vagy te? Közönség: Biomedical - SPEAKER: Ön ebben a részben? Közönség: Nem. SPEAKER: OK, ez Emily. Ő a barátom. Nyilvánvalóan nem, hogy jó barát, mert ő ad nekem egy nehéz idő. Meg lehetne kedvesebb velem előtte mindenki, tanítványom - Közönség: csinálok a Q útmutatót. SPEAKER: Tényleg? Uh oh. OK, te csodálatos. Szeretlek annyira. Oh boy. Különben is, én, tegnap este, mint minden - Biztos vagyok benne, mindenki úgy tűnik, nagyon hangsúlyozta most. Nem is tudom, olyan újonc - a srácok érzés hangsúlyozta? Én magam hangsúlyozta. Olyan volt, mint, menj haza a hálaadás. Olyan vagy, mint én fogok csinálni ezeket a dolgokat. Közönség: Ez annyira más. SPEAKER: Igen, és gyere vissza. Jeff, nem érzi így? Közönség: Csak arra gondoltam, Én ezt egy kicsit. SPEAKER: OK, nagyszerű. Szóval gyere vissza, és én nem tett semmit. És ez mind szuper stresszes. És én tudom, valóban érintett, e vagy sem vagyok fogja befejezni mindent, amit kell. De a tegnap este, én nem hangsúlyozta, Én csak egy kicsit szomorú. Ezért írtam a naplómba a mi voltam szomorú. És én szomorú ez a rész ebben az osztályban a végéhez közeledik. Szóval, csak azt akartam, hogy olvassa el a srácok egy kis részlet a naplómba, tegnap este. Kaphatok egy kis szalvéták, bizonyos szövetek Tom? Nem fogok sírni. Én nem sírok. Nem, hogy nem tud sírni, Csak nem sírni. Én nem is tudom, ha a szakadás mirigyek dolgozott - szakadás csatornák. Én nem sírtam a hosszú idő. Közönség: [hallható]. SPEAKER: OK, köszönöm. OK, van egy kis előszót - van valami más részein naplómba belépés, mert megpróbálok naplót minden este kaptam az ágyba. Én nagyon ajánlom a naplózást. Ez segít feldolgozni a dolgokat, és azt is Nagyon hálás a nap. És ez teszi sokkal könnyebb nézni vissza a nap, és rájönnek, hogy volt egy csomó jó dolog, ami történt. Akkor is, ha úgy érzi, nagyon hangsúlyozta, éjszaka vagy nagyon ideges, vagy nagyon szomorú, vagy fáradt. Ó, Istenem. Én nem is tudom, hogy van írva, hogy jól, mert én nem lektorált meg. De majd olvasni. Én általában nem olvassa el a folyóirat, nyilván. "Holnap fogom tanítani a végső CS50 részében az év. Őrület, hogy milyen gyorsan repül az idő. Mégis, én meglepte, hogy mennyire más Tapasztalataim tanítás ebben az évben mint amikor voltam másodéves. Kezdetnek, én biztosan tudják, az anyag jobb. De ne mondd el az első korosztály A hallgatók ezt. Ennél is fontosabb azonban, rájöttem, hogy az öröm, hogy jön álló elé egy szoba, amit indul ki, az idegenek, de végül fel, a legalábbis, a Facebook barátok, az Nem egy elsőéves mázli. Inkább ez a tudat, hogy, a néhány kisebb módon, akkor segít tehetséges, figyelmes, kedves, és szenvedélyes emberek tanulni egy kicsit többet a számítógép-tudomány. Te változó, hogy az izzó csak egy bites annak aljzat, úgy, hogy ez képes hogy fényesebben, mint te, vagy, lehetett volna elképzelni a félév elején. Segítesz kapcsolni ezeket a homlokát ráncolja fejjel le, és a kérdéseket, hogy nyújt támogatást, de még mindig lehetővé teszi diákját, hogy álljon fel a saját. Ez biztosan nem túlzás azt azt mondják, hogy ez a rész a kedvencem része a héten. Vagy akár, hogy bátran mondom, hogy ez minden, a 05:30 minden héten, tudva, hogy ez lesz túl hosszú amíg újra találkozunk. Mégis, én hihetetlenül hálás mindenki, aki adott nekem arra, hogy adja vissza másoknak. David, türelméért és a bizalom. Ahhoz, hogy a film és a produkciós stáb, a így nézek ki kissé tiszteletre méltó. És ami a legfontosabb, hogy a diákok, aki nélkül én nem ok arra, hogy tölteni 10 órát kitalálni a legjobb módon felhívni a mutató, vagy feküdt ki a táblázat delfinek, JavaScript segítségével. Mint mindig, ez egy áldás. " Tehát az, hogy köszönöm srácok. Találkozunk mindezt CS50 tisztességes, és A hackathon, ha ott vagy. Ha kérdése van, maradok körül, amíg nincs több. De köszönöm srácok egy csodálatos év. [Taps] SPEAKER: Lehet sírni.