>> 演講嘉賓：好的，那麼，你不會相信它， 但上週，上週一，在皮爾斯，我
跌在地下室。
我從來沒有去皮爾斯。
而我永遠也不會回來了，因為 我離開了我的東西獨自，
象，五分鐘，有人 偷了我的電腦和我的
手機出我的背包。
這意味著我得到了它回來了， 隨後不到一個星期後
它得到了再次被盜。
>> 然後它得到了開啟 -
查找我的iPhone繼續 是無益的。
所以，我繼續鼓勵 你不使用它。
它開啟一次，那是在麻省理工學院， 就像在15分鐘後，和人
叫這表明這個電話號碼 在我的AT＆T的通話記錄。
>> 於是我就在網上，叫那個電話 數，它直奔這
答錄機西班牙語。
我還沒有聽說過它，因為。
所以我必須得到一個新的 電腦和手機。
我知道了。
是啊。
但是，如果你們想湊錢給我 之後，這台計算機的基金，這就是為什麼
我在這裡問你。
只是在開玩笑。
但是，這是真的傷心和痛苦。
>> 但是這一切都回來了，這就是為什麼 在p設置8花了這麼長時間，是因為
我沒有一台電腦。
，有人偷走了。
和我通過電子郵件，詢問他們是否 將級你的P-8設置。
但他們說沒有。
我當時想，我可以有 我的電腦回來？
和他們一樣，沒有。
只是在開玩笑。
>> 確定。
這是我們的最後一節，我有 一對夫婦 - 我們只有三個
事情提上議事日程。
我們要商量了一下 繞Q導。
然後，我們將花15 分鐘，爽就一個演示。
然後我們將所有說 告別了彼此。
你並不真的需要你的電腦 或筆或紙做筆記，或
跟隨。
所以我想，如果你有你的電腦 了，那麼你在Facebook上。
只是說。
除非你填寫 Q導，這是第一次。
>> 在Q導是開放的。
你已經有一個關於它的電子郵件。
一旦所有的Q的東西被提交在 今年年底，我得到的所有的
在分數從每個人Q意見 誰選擇給我的反饋。
所以當你在Q去 -
我不知道，如果你能做到這一點，傑夫， 因為你和延伸學生。
但是，當你走在Q，如果你還沒有 做之前，你挑你的
老師，這是大衛·馬蘭。
你必須做他。
>> 然後你可以選擇轉錄因子。
並且你可以選擇盡可能多的 只要你想的轉錄因子。
但也有60個人。
你不必來接大家。
你可以隨便挑我，或者隨便挑一個 其他幾個人，如果你願意，
給他們的反饋也是如此。
然後你得到的分數在所有這些 不同的軸，然後你可以離開
他們的反饋。
>> 然後，像一個月後， 我會得到所有的反饋。
而就像反饋你已經 給我整個學期，我
讀了這一切。
而且它是真正有用的，它可以幫助 我成長為一名教師，作為一個
個人。
因此，請花一些時間來做到這一點。
我們只打算在這裡 為，如，30分鐘。
所以，如果你想在本月底，以 需要五分鐘，只需填寫
的Q值，因為它沒有考慮 任何更多的時間比。
這將是美好的，而你也 背快讓你的成績，如果
您填寫的Q。
>> 所以，你們中的大多數已經做到了前 -
或者沒有，大約有一半的你 之前已經做到了。
但如果你是一個新生， 那是那是什麼。
對於所有的類，它會是相同的。
做到這一點。
它需要5分鐘。
但同時，如果你這樣做有點嚴重， 這還不是最糟糕的事情
在世界上，因為我肯定 當真。
>> 所以，如果你離開我一個笑臉， 我對此表示讚賞。
不過，我也將不勝感激，如果你 給我留下了超過一個笑臉。
但它給你。
我不能告訴你 - 或者像一個大笑臉 面，用資本D.那會
更好。
>> 好吧，這是所有我對問：如果你 有任何問題，你可以問
我，但不言自明。
只是，請填寫。
我會很感激， 它意味著很多給我。
>> OK，這就是我們將要花費 經歷15分鐘。
我要告訴你一些代碼。
我認為這是真的很酷， 這讓我更
興奮的計算機科學。
所以，我希望它會做 為你所有相同的。
>> 我們要開拓 - 而這一切 代碼中，我會送你以後。
但我們只是要開拓 -
我在我的終端 -
我們要打開這個程序 叫[？ MySum。 ？]
>> 每個人都可以讀，或 我得更大？
誰能告訴我這是什麼代碼將 當我運行它，或者這是什麼做的
程序會做，當我運行它？
>> [？ AVI，？]你怎麼看 它會做什麼？
完成咀嚼。
你不應該談 你的嘴打開。
>> 觀眾：是否採取了一堆 參數，發現它們的總和回國
總和，然後把它打印出來？
或者，它接受兩個參數， 那麼它[聽不清]。
然後它打印出什麼 結果。
>> 演講嘉賓：關閉，真的很近。
有人要添加到 [？阿維什麼？]說的嗎？
你需要給這個程序 任何命令行參數？
>> 觀眾：號
>> 演講嘉賓：號
如果你不給它，會發生什麼 任何命令行參數？
我只是寫點斜線MySum。
>> 觀眾：1加2等於3。
>> 揚聲器：1加2等於3。
它會打印出來。
這是完全正確的。
你會看到打印f 線的下方。
它會打印出A，B，和 然後a和b的總和。
我猜你假設 總和正常工作。
好的假設。
>> 確定，會發生什麼，如果我 給它什麼論據？
[？馬努？ ？]
>> 觀眾：它會添加任何 第一個參數是到B。
或2，對不起。
>> 演講嘉賓：對，到2。
有誰知道什麼與strtol呢？
它基本上閱atoi。
ATOI實際上是一個奇特的版本 -
或與strtol的一個簡化版本。
但它實際上使用strtol。
我發現了，因為我想 類似atoi的，然後當我
沒有atoi的，我在這裡讀了下來。
而且我發現“這種行為 是相同的“與strtol。
所以它基本上是閱atoi為 所有意圖和目的。
而且你看，我什至使用空和10。
>> 這實際上可以讓你把一個字符串， 並把它變成一個數字，然後選擇
你想這樣做。什麼基地
因此，這是基地10就在這裡。
我可以為十進制做基礎二， 基地16進制。
它很酷。
不過長話短說，這需要兩個 數字並將它們相加。
>> 因此，讓我們運行它。
而且你還會發現，有 有一些事情 -
所以我有一個makefile就在這裡，和 如果您打開了，有些事情
你會發現是不同的。
尤其是，這種說法 在這裡，你可能
以前沒有見過的。
一般情況下，我們編譯的東西 與破折號零，零。
短跑零，零，表示不做 任何優化，編譯器。
不要嘗試做任何幻想，或 做任何事情更快地運行，或獲得
擺脫是必要的變量。
不要優化這個代碼在所有，
>> 我所要求的第三級 優化。
所以我問的編譯器做 很多優化。
您可以更改在makefile時 你有這樣的代碼，如果你想
看到不同的東西。
我們將顯示在第二個。
所以我們跑我總和1加2加3。
有人給我兩個參數。
>> 觀眾：4和5。
>> 揚聲器：4和5。
謝謝。
偉大的，它的工作原理。
什麼是其他一些很好的理由 嘗試，以確保這個工程？
任何人嗎？
>> 觀眾：0。
>> 演講嘉賓：0和？
>> 觀眾：負3。
>> 演講嘉賓：它的工作原理。
但是，這些都是很好的選擇。
好了，讓我們回到這裡。
這是mysum.c。
你會注意到這裡還有東西 所謂sumfunction.c。
與此說，哦，有什麼東西 在sumfunction.c定義。
不包括這個文件中這裡 因為我並不需要。
但我鏈接它，當我編譯， 你注意到了。
>> 讓我們向上滾動。
我們看到，當我們編譯mysum，右 在那裡，我們在從二進制鏈接
sumfunction.o。
而且我也不需要在頭文件 當然，因為，還有的
函數聲明。
如此犀利包括通常只是看跌期權 在函數聲明。
在這裡，我只是把它直 在代碼中。
所以我需要做的是鏈接 在二進制，這是我做的。
>> 任何猜測的是什麼 在sumfunction.c？
什麼樣的代碼我已經寫了 在sumfunction.c？
>> 觀眾：[聽不清]。
>> 演講嘉賓：任何猜測？
是嗎？
>> 觀眾：我認為，定義 一些[聽不清]。
>> 演講嘉賓：是的。
所以我做寫整型總和的int a。
我寫這條線，然後我打開 大括號，封閉大括號。
你覺得我寫的那些裡面 大括號，該函數內部？
是嗎？
>> 觀眾：返回等於一。
>> 處理器：這是一個非常不錯的猜測。
誰認為[？馬努？]是正確的？
它說，返回A加B。
好了，不是每個人。
[？ AKSHAR，？]
你這樣做，太？
你確定嗎？
確定。
什麼？
>> 觀眾：你拼寫錯了。
>> 演講嘉賓：不，我沒有。
是啊，只是在開玩笑。
你說得對。
這正是它說。
這是返回A加B。
這使得很多的感覺。
>> 好吧，讓我們回到這裡。
我們看到的標題 -
這是返回類型。
請記住，我們已經看到那一天之一， 返回該功能的類型，但去
Int函數的名稱之前。
在這裡，我寫的int。
你覺得會發生什麼，如果在這 功能，我不寫整型，但
我寫簽名？
的差，當然，作為該 無符號僅代表正
整數，整數可以是 正或負。
>> 所以，我已經改變了回報 類型此功能的。
此代碼不匹配 在這裡的返回類型。
你覺得會發生 當我編譯？
你應該罵我。
沒有大呼小叫。
>> 怎麼樣，當我運行程序？
讓前0負的做 3，或負1。
它仍然有效，即使我說 它返回一個無符號整數。
顯然，它不返回 一個無符號整數。
它返回一個有符號整數。
它的返回負1。
好，這是奇怪的。
>> 怎麼樣，如果我去 這裡做到這一點？
所以，我已經改變了一切 從int到無符號。
它只能採取無符號整數。
但是，我們仍然認為它會跑？
>> 觀眾：是的。
>> 演講嘉賓：它會的。
這太瘋狂了。
我們傳遞了一個明確分配 整數，我們可以簽署傳遞兩個
整數，它仍然有效。
>> 為什麼它仍然確定，任何想法 工作，或者這是怎麼回事？
是啊，傑夫。
>> 觀眾：它有事可做 與你優化你
突出顯示。
>> 演講嘉賓：號
我們可以改變優化， 它仍然正常工作。
我可以為你做的，但是 -
>> 觀眾：我相信你的話。
>> 演講嘉賓：是的。
如果你在這裡打開makefile文件， 我改變了優化。
所以你可以做短線零，零。
它仍然可以工作。
其他的想法？
>> 你們所有預期的工作，所以 為什麼你期望它的工作？
沒有？
沉默。
確定。
我要等上七年秒， 因為我問了一個問題。
>> 因此，關於C中的很酷的事情，你已經 你 - 也許之前經歷
可能沒有，這可能 是第一次。
但大家都知道，當我寫 C語言中，它不保存像
在這台計算機上。
它保存為1和0。
它從C代碼到彙編代碼。
>> 有人看到彙編代碼之前， 機器彙編代碼？
我們來看看在第二。
它從C代碼到彙編代碼。
和你們知道的階段 的彙編。
你必須記住，對於測驗之一， 然後寫出來的測驗為零。
大多數人都錯了​​。
我想你們釘它。
>> 但是，你們是最棒的部分 對於測驗，順便說一句。
這是真棒。
它不會傷害你。
不要擔心。
但它真的很酷。
幹得好。
>> 如此這般，以彙編語言，和 然後它去1和0。
與1和0都保存在 電腦，這就是保存在
a.out的，或者在這種情況下， 可執行文件。
和計算機運行的1和0。
對不對？
之前我們已經了解到這一點。
>> 所以很酷的事情是，這個符號 想法，類型的想法詮釋無符號，
等等，等等，這是 在這裡的C語言。
那些存在。
但類型不存在時 的1和0。
類型什至不存在時 彙編語言水平。
所以這東西存在C語言 世界，但無法在電腦存在
世界或處理器的世界。
這是一些抽象的C 語言已經包括在內，使我們的
生活更輕鬆。
>> 所以，在這一天結束時，我可以寫 這裡很多不同的東西，它
不會有所作為。
因為只存在 在C的世界。
它不會在存在 1和0的世界。
而我們的程序在執行 在1和0的世界。
所以，你的心靈的顯然不是吹呢。
但我認為這很酷。
是啊，傑夫。
>> 觀眾：所以，如果代替 做整型，你做字符。
而你 -
>> 演講嘉賓：讓我們做它在幾秒鐘之內。
>> 觀眾：因為那時候你得到一個 從負128無符號去
127或0到255。
>> 演講嘉賓：所以char是有問題的。
有誰知道為什麼字符會 有問題的，它實際上會
改變的東西，在那些 和歸零的世界？
>> 觀眾：因為字符的大小。
>> 演講嘉賓：字符的大小是1。
所以無符號也是4個字節。
所以字符會搞砸的。
但是，什麼是4個字節是 相關的字符？
或者，增加了一個額外的 -
你可以把一個或多個字符 字符之後。
>> 聽眾：字數明星。
>> 揚聲器：字數星有4個字節。
因此，讓我們做一些事情 這是一個char明星。
>> 因此，這可能會工作，但我們 要做些什麼，甚至
比這更瘋狂。
在我看來，瘋狂。
>> 現在我已經寫了一個函數，返回 一個指針，它需要一個
指針和一個無符號價值 - 我們將 改回為int，所以我們不
做太多的變化一次。
它有一個叫做，索引數組 成陣列，並返回該
的地址。
我們以前見過這些運算符。
對此，你認為什麼這是怎麼回事 這樣做，作為回報，當我運行它？
你覺得它怎麼辦呢？
任何猜測？
>> 觀眾：段錯誤。
>> 演講嘉賓：什麼？
段錯誤？
這是一個很好的猜測。
湯姆說同樣的事情。
任何其他的猜測？
>> 誰認為這將 做同樣的事情？
誰認為它會出現段錯誤？
它做同樣的事情。
抱歉。
>> 但是，當然，我們在1和2。
而這些都是有效的，對不對？
讓我們來看看，我們可以去 第二位的數組。
但是，如果我們做了b 一個負數？
這可能是一個更好的猜想 東西段錯誤。
它仍然有效。
>> OK，這是現在瘋了。
這是同樣有效的和函數。
這樣做同樣的事情 作為返回a和b。
任何人都可以解釋為什麼這是一個很好的 SUM函數，或者為什麼這個工程？
這裡發生了什麼？
為什麼這個做同樣的 因為我們的老SUM函數的事情嗎？
[？ AKSHAR，？]
這是怎麼回事？
>> 觀眾：因為當你有 一個一個這是一個地址，
位置記憶 -
當你這樣做的符號，它 去到內存地址。
而當你去B，你是那種 移動從內存地址的步驟，
你回國了。
所以，你實際上，事實上， 添加和b [聽不清]。
哪裡有標準的操作 該回報？
就像，你在哪裡括號下跌呢？
是地址上的返回 一個之前或之後[聽不清]？
>> 演講嘉賓：這將索引β -
或索引到一個 - 然後 返回地址。
好了，大家都明白 什麼[？ AKSHAR？]
說，並解釋，為什麼這個工程？
我沒有，第一次有人 解釋這樣對我。
會有人喜歡的圖片 解釋這個？
我們要畫一幅畫，用 無標記，這是偉大的。
發現了一些。
>> 所以我們有一個數組，是 一系列框。
第一個是一個索引0，索引 1，2，3，4，點，點，點。
一個典型的陣列。
並且除了擁有指數， 他們都有內存地址。
因此，讓我們給這個內存地址 13，14，15，16，17，等等。
每個人都到這裡為止。
>> 所以一個是一個地址。
數組，指針的名稱 被保存在那裡。
這是一個指針，它是一個內存位置， 到數組的開始。
所以，如果是這樣的陣列， 一會是13的值。
而且，當然，我們可以給 一個我們想要的任何值。
字符一個明星，我們可以給任何一個 我們想要的內存地址。
我們可以給它0，我們可以給它 負1 - 負1不存在，
所以這可能是有問題的，但 你看見它仍然工作。
所以我們可以給一個任意數量的我們想要的， 我們想要的任何內存地址。
>> 然後，整型B說，好了，去這個號碼 步到數組。
因此，如果b等於2，和等於13， 我們是在內存地址13。
我們走在兩個步驟， 所以我們在這裡。
和符號意味著回報 這個位置的地址。
和地址，當然，15。
因此，我們得到13加2，或 a與b，它是15。
>> 現在的問題是，雖然 -
對不起。
這是否澄清事情 為什麼這個工程？
>> 觀眾：為什麼它的工作打算 -
所以你可以有一個數組， 去到一個負指數？
>> 演講嘉賓：對。
所以我們做了負數， 所以這是 -
這是否有道理，雖然， 首先，[？ AVI，？]
你嗎？
>> 觀眾：是啊，我剛 [聽不清]，但 -
>> 演講嘉賓：是的，這將返回15。
如果是13，和b是2， 這將返回15。
>> 觀眾：所以零索引不 成為一個問題，對不對？
因為你從0移動。
>> 演講嘉賓：對。
所以你移動 - 所以當b為0， 你不會隨意移動。
而你只希望返回的地址 -
若b為0，這是本質 返回的那個地址。
傳遞的char明星並返回 的地址只是返回一個，
本質。
>> 好了，問題是為什麼 負數工作？
而這對非常酷的事情 這一點，因為這應該出現段錯誤。
它會出現段錯誤，如果我們 做這樣的事情。
比方說，詮釋。
所以這段代碼看起來完全相同， 應具有相同的行為。
本質上，x是可變的垃圾， 所以這應該具有相同的行為。
>> 讓我們把這個 -
哎呀 -
在明星。
好了，我們已經得到錯誤在這裡， 因為它已經將生氣
我，因為它已經 知道什麼是未來。
特別地，第二個。
堆疊內存地址相關聯 使用局部變量。
>> 從本質上講，我不打算編譯 這一點，然後我會做撤消
我們只是做了。
但因為我們從來沒有真正 訪問什麼在記憶
位置，它不會出現段錯誤。
我們從來沒有真正在看什麼 在第二個框或什麼在任何框
此陣。
我們只是說，這裡的地址 的事情，我們正在尋找和
返回地址。
我們從來沒有真正進入了 數組來看看那個位置。
因為我們從來沒有接觸的記憶， 我們不會惹上麻煩。
我們沒有得到一個段錯誤。
>> 如果我們試圖再一次觸碰 記憶，觸摸什麼是在a或b -
或托架b和假設 一個是0和 -
如果為0，甚至，那將是非常 不好，因為我們不能去
向下一路有。
如果a和b均為0，我們試圖 撫摸一下在那裡的話，就要
惹上麻煩。
但是，如果我們不碰那裡的東西， 我們只是返回的地址，它是
實際上不會出現段錯誤，因為 它可讓您執行這些操作。
它只是變得生你的氣，並得到超 生氣，當您嘗試觸摸
實際的內存並返回什麼 在該存儲單元中。
>> 這是否有道理？
這是C。所以只是一個瘋狂的一部分， 我們有一個以上的這些。
>> 誰認為這是很酷？
更多的人。
這是很好的。
OK，這是我們的最後一個。
我希望你能告訴我是否 或者你不覺得這是怎麼回事
做同樣的事情。
>> 我這些寫下來的地方。
我沒有記住他們。
>> 讓我們來看看，8，B 4，4，2，4，0， 8，0，3，4，4，2，4，0,4。
因此，這是一個數組，現在， 不是函數。
並且它是一個數組，因為我們有正方形 括號，沒有大括號。
而且它是什麼類型的數組？
任何人，嗯？
>> 觀眾：他們的十六進制數？
>> 演講嘉賓：但是，什麼是C型？
他們都有十六進制數字。
什麼是C型？
它會告訴你。
>> 觀眾：它是無符號字符。
>> 演講嘉賓：對，無符號字符。
和兩個十六進制數字 是一個字節。
因此，這些都是1，2，3，4， 5，6，7，8，9個字節。
這9個字節的數組。
>> OK，你可能已經知道 在回答這個問題。
但是，你覺得會 發生在我運行這個？
我說，再一次，在mysum.c， 我期待的功能
採用兩個整數。
而且我不是說那筆 是一個字符數組。
有什麼事情發生時， 我運行。/ mysum和做什麼呢？
>> 嗯，首先，你最可能會 同意化妝 - 哦不，只是開個玩笑。
Phoebe：我做錯了什麼？
嗯哦。
這應該是大括號。
這就是你如何初始化數組。
我的壞。
>> 因此，我們已經看到了在這之前的類型 是一個C級的抽象，而不是
計算機級別的抽象。
因此，大多數人可能預料到 做，或者假設它將使。
但是當我跑什麼。/ mysum？
有什麼事情發生？
任何猜測？
>> 觀眾：這將 打印出一個字。
>> 演講嘉賓：這將 打印出一個字。
什麼字？
>> 觀眾：[聽不清]。
>> 揚聲器：任何其他的猜測？
OK，打印出的短語。
你可以有任何短語。
這將是你的身邊。
如果誰擁有不同的猜測？
安娜，什麼是你的猜測？
>> 觀眾：它會打印出 -
兩個字母，或[聽不清] 一個字母。
>> 喇叭：一個字母。
>> 觀眾：我可以怎麼算 許多[聽不清]？
>> 演講嘉賓：九。
嗯，我要去執行它。
它同樣的事情。
它增加了兩個數相加。
好吧，讓我們傳遞兩個參數。
它不帶參數。
所以我不知道它在哪裡能 可能得到這些參數。
但是，讓我們通過在100和0。
並把它添加100和0。
這是瘋了。
我想是這樣。
>> 負4，那也有用。
你可以做任何你想要的。
這同樣是一個有效的和函數。
這是一個求和函數。
但是，沒有，你說這是 字節數組。
那麼，什麼是怎麼回事？
>> 所以，再一次，讓我們回到這個思路 我們在開始的時候說。
你從C級代碼，彙編 語言，以1和0。
這是十六進制。
但是，這真的只是一個 大量的1和0。
這是72和0，對不對？
72和0。
9個字節。
每個字節有8比特。
每個位是1還是0。
所以72的1或0。
我剛剛寫他們這樣的 - 而不是寫出來的很多
1和0。
>> 但是，這會從C級 語言，彙編
語言代碼。
這將在代碼打印出來， 某個地方，這些72和0
我已經寫在這裡。
所以某處在於： -
讓我們在這裡 -
某處mysum，程序，有 這些72 1和0，我已經
編寫並告訴它來寫。
>> 現在，任何猜測什麼的 72和0是什麼意思？
>> 觀眾：可能是相同的 東西返回A加B。
>> 演講嘉賓：大概相同 東西返回A加B。
讓我們來驗證。
讓我們來弄清楚我是怎麼做到這一點。
>> 所以，如果你回到這裡，我告訴你 運行此命令，objdump的-S
sumfunction.o。
讓我們去運行它。 objdump的 -
OBJ，轉儲。
基本上，它可以給我 無論我希望看到的。
它可以給我的彙編語言。
它可以給我的1和0。
它有一噸的標誌。
這是一個我們要去 用於現在。
點 -
如您在幻燈片中看到 -
破折號大寫S表示，中散佈， 源代碼 -
這條線是在C - 用彙編 碼，並與1和0。
而我們將要運行 它sumfunction.o。
因為它會很容易看到。
再次 - 嗯？
>> 觀眾：你拼寫錯了。
>> 演講嘉賓：但是實際上，我 要清除它的第二個。
我首先要打開 只是sumfuntion.o。
>> 觀眾：你拼了 錯了第一次。
>> 音箱：經典。
總和 -
這是一個很難的詞，雖然。
你會感到驚訝。
好了，這是sumfunction.o。
我什至不能告訴你。
有很多零的，顯然很多 零，而有一些其他的
東西，這不是零。
但主要零。
看起來像有一些的。
所以很明顯，這是難以閱讀。
這是二進制語言。
>> 現在，讓我們打開它 -
什麼？
我究竟做錯了什麼？
我有沒有正確地拼寫呢？
OK，這是尷尬的。
我需要一秒鐘來計算 什麼我做錯了。
這是一錯誤。
這是奇怪的。
哦，這就是原因。
>> 我要回到我們最初的 之一，所以我們可以看看
該對象的代碼。
因為沒有真的要 是什麼時候，我們只是把
1和0英寸
我們走吧。
好了，大家可以看到這一點。
這個函數，正如我所說， 放出來的C線 -
源代碼行 -
一些彙編指令。
>> 這裡是我們的源代碼行。
這裡有一個，這裡的另一個。
下面是彙編指令。
這就是他們的樣子。
裝配說明 -
您可以了解更多的這些，如果你把 其他連拍類，但他們
通常的指令。
然後源和目的地。
>> 然後在這裡是二進制代碼 對應於該組裝
指令。
因此，大家可以看到，這個和功能， 在一天結束時，為三
彙編指令。
只有三個。
一個MOV -
這個M-O-V代表的舉動。
添加看台上的地址。
和r-E-t表示返回。
因此，一個MOV，一個加載，一個返回。
而這些，在這裡，是零和 那些對應於該代碼。
>> 所以那些0和1，如果你 知道這些，你可以把
那些直英寸
然後，它會做的 同樣的事情。
因為，在一天結束時，所有 你執行的是一個漫長的系列
0和1。
而這正是你的代碼確實是。
>> 究其原因 -
讓我們來看看一件事。
難道我有makefile文件打開？
因此，如果我們回去衝 零，零在這裡 -
對不起，大寫的O，資本 Ø零，而不是零，零。
而且，我們也做，它會 還是工作一樣。
但現在你有沒有注意到，一個 很多彙編指令。
這是因為，再一次，我問 編譯器不要做任何優化。
>> 所以我仍然可以把所有這些 0和1，並把他們的，
並且，將工作。
我只是做了優化，因為 這是一個更容易一點，那麼，
編寫一個數組。
但是，這將很好的工作。
>> 好了，我們要做的最後一件事， 因為我認為是最酷的一部分。
儘管每個人都清楚的 已經燒斷，說不出話來。
我們的頭腦吹。
[聽不清]
>> 所以，這些都是從不同的CS類， 這是超級有趣，
我已經採取了 -
CS61。
我強烈建議你把它。
但是，關於這一事實的最酷的部分，即 事情是0和1，
是這一切都是 0和1。
>> 所以，你可以採取具有文件 你想正確的0和1
在某處它，並用那款 0和1作為和功能。
>> 這是什麼意思了嗎？
我的意思是你可以採取一個圖像文件 具有正確的一系列零和
的，打印的東西 到的圖像。
和一個程序可能將是一個 圖像，但你可以把它解釋，如果
你想，作為一個和函數。
>> 因此，如果我們想打開，為 例如，這個形象。
讓我們去，Hello Kitty的。
美妙的小圖像。
在這裡有該字符串 的0和1。
那些72 0和1 存在於這個形象。
>> 所以，我能做些什麼的話，就是寫 -
我要記住他們在哪裡。
我會發現，在第二。
但我們做的 -
讓我看看他們在哪裡。
一秒鐘。
讓我們做 -
>> 觀眾：[聽不清]。
>> 演講嘉賓：謝謝。
因此，如果我們執行這個程序，它 而不是讀取一個文件，然後它去
這個索引文件中。
然後，再次，就像 mysum，使用兩個數字。
我們可以添加數字完全一樣 我們在做之前，都到
告訴你如何的事實是，在年底 這一天，所有的這些東西都是
0和1。
而且這只是你的選擇 對其進行解釋。
>> 而且如果你真的看 在此圖像 -
讓我們放大一點。
每個人都可以看到它？
你會發現在這裡，有 一些奇怪的污跡。
讓我們去 - 這是原始圖像。
你會發現這裡有沒有污跡。
這是SUM函數的代碼， 就是那麼一點塗抹在那裡。
>> 而實際上，同樣，如果你​​了解更多 關於這一點，你就會意識到，這
凱蒂貓，其中有一個甚至更大的 塗抹，有一個可以接管一個代碼
計算機，如果它不保護 適當。
這樣你就可以真正運行這個。
我不打算現在運行它。
但是你可以運行這個囉 梯圖像，並且它可以
接管您的計算機。
>> 所以這就是所有的演示。
沒有任何人有任何疑問， 意見，顧慮？
我覺得這個東西是迷人的。
它激發了我學習更多。
我強烈建議，如果你有興趣 在所有對CS，跟我說話。
雖然我是一個社會學 選礦廠，我是CS，二級，所以
我還知道一點點。
不過，我當然知道是什麼 類，你應做的。
我覺得這一切都非常有趣， 我鼓勵你，當然，要
了解更多，如果你有興趣。
>> 好吧，我有一個最後的事情。
抱歉。
有問題嗎？
我沒有停下來等待，如果任何人 有有關的任何問題。
>> 是否有人會成為 一個CS集中？
或思考呢？
一，二，三，四。
一個 - 只有一個。
安娜的是唯一的手那 權威提出。
好了，這很酷。
阿薩姆邦，那你打算怎麼辦？
>> 觀眾：[聽不清]。
>> 演講嘉賓：康斯坦丁？
>> 觀眾：物理。
>> 演講嘉賓：哇，那是快。
你曾在CS50一個壞的經驗？
[聽不清]，你會怎樣做？
>> 觀眾：我不知道。
>> 演講嘉賓：柯特？
>> 觀眾：經濟學或CS。
>> 演講嘉賓：經濟學或CS。
湯姆？
>> 觀眾：我做統計。
>> 演講嘉賓：統計？
確定。
你是什​​麼？
>> 觀眾：我？
>> 演講嘉賓：是的。
>> 觀眾：統計。
>> 演講嘉賓：統計
哦，你去那裡。
湯姆，跟奧爾登。
艾米麗，你這是？
>> 觀眾：生物醫學 -
>> 演講嘉賓：您在本節？
>> 觀眾：號
>> 演講嘉賓：好，這是艾米莉。
她是我的朋友。
顯然，不是說好了的朋友， 因為她給了我一個困難時期。
你可能是更好的給我在前面 大家，我的學生 -
>> 觀眾：我做你的Q導。
>> 演講嘉賓：真的嗎？
嗯哦。
好吧，你真了不起。
我愛你這麼多。
哦男孩。
>> 無論如何，我，昨晚， 像一切 -
我敢肯定，每個人似乎真的 強調現在。
我不知道，是大一 - 是 你們感到壓力？
我感覺壓力。
這就像，你回家 感恩節。
你喜歡，我要去 做所有這些事情。
>> 觀眾：它是如此的不同。
>> 演講嘉賓：是啊，你回來了。
傑夫，你不會有這樣的感覺？
>> 觀眾：我只是在想 我會做一點點。
>> 演講嘉賓：好，太好了。
所以，我回來了，我還沒有 做任何事情。
而這一切都超級緊張。
與我而言，真正關心， 關於是否我
要完成一切，我不得不這樣做。
但昨晚，我沒有強調， 我只是有點傷感。
所以，我寫在我的日記關於 我很傷心的。
我很傷心這部分 在這個類中即將結束。
>> 所以，我正要讀了你們 我的日記一個小片段，
從昨晚。
我可以得到一些餐巾紙， 一些組織從湯姆？
不，我要哭了。
我沒有哭。
這並不是說你不能哭， 我只是不哭泣。
我什至不知道我的淚 腺體工作 - 淚腺。
我沒有哭的很長一段時間。
>> 觀眾：[聽不清]。
>> 演講嘉賓：好的，謝謝。
好了，有一個小序 -
還有我的一些雜誌上其他地區 項，因為我嘗試每日記
前一天晚上我到床上。
我強烈推薦日記。
它可以幫助你處理事情，也 很欣賞你的日子。
它使人們更方便看 回到你的一天，並認識到
有很多好 事情發生。
即使你感覺確實強調 在夜間或非常沮喪，或
真是悲哀或疲倦。
>> 哦，我的上帝。
我什至不知道它是否撰文指出， 很好，因為我沒有校對。
但我們會閱讀它。
我平時不看我的 日記，很明顯。
>> “明天，我會教我的最後 今年CS50部分。
這是瘋狂的速度有多快時間過得真快。
然而，我被多麼不同的擊打 我的經驗，今年是教學
比當我還是個大二。
對於初學者來說，我絕對 知道材料更好。
但是，不要告訴我的第一批 學生說。
更重要的是，我意識到 那是來自於站立的喜悅
在一個房間裡的東西開始時的前 作為陌生人，但最終因為在
至少，Facebook上的朋友，是 不是第一年僥倖。
相反，它是從知道的是，在 一些小方法，你幫助
有才華，周到，愉快，和 多情的人了解多一點
關於計算機科學。
>> 你的移動燈泡只是一個 在插槽位，因此它的能
照比你更亮，或者他們， 能夠想像在學期的開始。
你幫助把這些皺眉上攻 下來，問問題，
提供支持，但仍然允許 學生站起來自己。
>> 這當然不是一個誇張的 說這部分是我最喜歡的
週的一部分。
甚至可以說，我毫不猶豫地說，這是 總之，在每個週末下午5:30，知道
這將是太長了 直到我們再次見面。
>> 然而，我非常感謝 誰給了我這個人
機會回饋他人。
大衛，對他的耐心和信任。
電影及製作人員，為 讓我看起來有點尊敬。
而且，最重要的是，我的學生， 沒有他們，我沒有理由
花10小時找出最好的 方式提請指針，或者制定出一個
表海豚，通過JavaScript。
與往常一樣，它是一個祝福。“
>> 因此，與那，謝謝你們。
我會看到你的所有在CS50公正， 該hackathon，如果你在那裡。
如果你有任何問題，我會堅持 各地，直到沒有更多的。
但我感謝你們 一個美好的一年。
>> [掌聲]
>> 演講嘉賓：我可能會流淚。