1 00:00:00,000 --> 00:00:07,700 2 00:00:07,700 --> 00:00:15,180 >> 演講嘉賓:好的,那麼,你不會相信它, 但上週,上週一,在皮爾斯,我 3 00:00:15,180 --> 00:00:16,090 跌在地下室。 4 00:00:16,090 --> 00:00:17,010 我從來沒有去皮爾斯。 5 00:00:17,010 --> 00:00:20,530 而我永遠也不會回來了,因為 我離開了我的東西獨自, 6 00:00:20,530 --> 00:00:23,950 象,五分鐘,有人 偷了我的電腦和我的 7 00:00:23,950 --> 00:00:26,050 手機出我的背包。 8 00:00:26,050 --> 00:00:28,780 這意味著我得到了它回來了, 隨後不到一個星期後 9 00:00:28,780 --> 00:00:30,220 它得到了再次被盜。 10 00:00:30,220 --> 00:00:31,570 >> 然後它得到了開啟 - 11 00:00:31,570 --> 00:00:34,540 查找我的iPhone繼續 是無益的。 12 00:00:34,540 --> 00:00:37,340 所以,我繼續鼓勵 你不使用它。 13 00:00:37,340 --> 00:00:42,270 它開啟一次,那是在麻省理工學院, 就像在15分鐘後,和人 14 00:00:42,270 --> 00:00:45,770 叫這表明這個電話號碼 在我的AT&T的通話記錄。 15 00:00:45,770 --> 00:00:48,830 >> 於是我就在網上,叫那個電話 數,它直奔這 16 00:00:48,830 --> 00:00:50,540 答錄機西班牙語。 17 00:00:50,540 --> 00:00:52,520 我還沒有聽說過它,因為。 18 00:00:52,520 --> 00:00:54,800 所以我必須得到一個新的 電腦和手機。 19 00:00:54,800 --> 00:00:55,150 我知道了。 20 00:00:55,150 --> 00:00:56,326 是啊。 21 00:00:56,326 --> 00:01:00,110 但是,如果你們想湊錢給我 之後,這台計算機的基金,這就是為什麼 22 00:01:00,110 --> 00:01:01,030 我在這裡問你。 23 00:01:01,030 --> 00:01:02,280 只是在開玩笑。 24 00:01:02,280 --> 00:01:04,239 25 00:01:04,239 --> 00:01:07,420 但是,這是真的傷心和痛苦。 26 00:01:07,420 --> 00:01:10,700 >> 但是這一切都回來了,這就是為什麼 在p設置8花了這麼長時間,是因為 27 00:01:10,700 --> 00:01:12,480 我沒有一台電腦。 28 00:01:12,480 --> 00:01:13,730 ,有人偷走了。 29 00:01:13,730 --> 00:01:16,940 和我通過電子郵件,詢問他們是否 將級你的P-8設置。 30 00:01:16,940 --> 00:01:18,790 但他們說沒有。 31 00:01:18,790 --> 00:01:20,000 我當時想,我可以有 我的電腦回來? 32 00:01:20,000 --> 00:01:21,270 和他們一樣,沒有。 33 00:01:21,270 --> 00:01:22,130 只是在開玩笑。 34 00:01:22,130 --> 00:01:22,930 >> 確定。 35 00:01:22,930 --> 00:01:28,140 這是我們的最後一節,我有 一對夫婦 - 我們只有三個 36 00:01:28,140 --> 00:01:29,790 事情提上議事日程。 37 00:01:29,790 --> 00:01:31,330 我們要商量了一下 繞Q導。 38 00:01:31,330 --> 00:01:33,900 然後,我們將花15 分鐘,爽就一個演示。 39 00:01:33,900 --> 00:01:36,890 然後我們將所有說 告別了彼此。 40 00:01:36,890 --> 00:01:41,460 你並不真的需要你的電腦 或筆或紙做筆記,或 41 00:01:41,460 --> 00:01:42,410 跟隨。 42 00:01:42,410 --> 00:01:45,620 所以我想,如果你有你的電腦 了,那麼你在Facebook上。 43 00:01:45,620 --> 00:01:46,530 只是說。 44 00:01:46,530 --> 00:01:49,650 除非你填寫 Q導,這是第一次。 45 00:01:49,650 --> 00:01:50,690 >> 在Q導是開放的。 46 00:01:50,690 --> 00:01:53,520 你已經有一個關於它的電子郵件。 47 00:01:53,520 --> 00:01:56,930 一旦所有的Q的東西被提交在 今年年底,我得到的所有的 48 00:01:56,930 --> 00:02:03,710 在分數從每個人Q意見 誰選擇給我的反饋。 49 00:02:03,710 --> 00:02:04,810 所以當你在Q去 - 50 00:02:04,810 --> 00:02:07,440 我不知道,如果你能做到這一點,傑夫, 因為你和延伸學生。 51 00:02:07,440 --> 00:02:12,730 但是,當你走在Q,如果你還沒有 做之前,你挑你的 52 00:02:12,730 --> 00:02:14,020 老師,這是大衛·馬蘭。 53 00:02:14,020 --> 00:02:14,970 你必須做他。 54 00:02:14,970 --> 00:02:15,690 >> 然後你可以選擇轉錄因子。 55 00:02:15,690 --> 00:02:17,750 並且你可以選擇盡可能多的 只要你想的轉錄因子。 56 00:02:17,750 --> 00:02:18,990 但也有60個人。 57 00:02:18,990 --> 00:02:20,350 你不必來接大家。 58 00:02:20,350 --> 00:02:23,090 你可以隨便挑我,或者隨便挑一個 其他幾個人,如果你願意, 59 00:02:23,090 --> 00:02:24,470 給他們的反饋也是如此。 60 00:02:24,470 --> 00:02:27,595 然後你得到的分數在所有這些 不同的軸,然後你可以離開 61 00:02:27,595 --> 00:02:28,570 他們的反饋。 62 00:02:28,570 --> 00:02:31,520 >> 然後,像一個月後, 我會得到所有的反饋。 63 00:02:31,520 --> 00:02:34,570 而就像反饋你已經 給我整個學期,我 64 00:02:34,570 --> 00:02:35,790 讀了這一切。 65 00:02:35,790 --> 00:02:39,620 而且它是真正有用的,它可以幫助 我成長為一名教師,作為一個 66 00:02:39,620 --> 00:02:40,680 個人。 67 00:02:40,680 --> 00:02:43,360 因此,請花一些時間來做到這一點。 68 00:02:43,360 --> 00:02:45,020 我們只打算在這裡 為,如,30分鐘。 69 00:02:45,020 --> 00:02:48,090 所以,如果你想在本月底,以 需要五分鐘,只需填寫 70 00:02:48,090 --> 00:02:49,960 的Q值,因為它沒有考慮 任何更多的時間比。 71 00:02:49,960 --> 00:02:53,410 這將是美好的,而你也 背快讓你的成績,如果 72 00:02:53,410 --> 00:02:54,620 您填寫的Q。 73 00:02:54,620 --> 00:02:56,580 >> 所以,你們中的大多數已經做到了前 - 74 00:02:56,580 --> 00:02:58,240 或者沒有,大約有一半的你 之前已經做到了。 75 00:02:58,240 --> 00:03:00,060 但如果你是一個新生, 那是那是什麼。 76 00:03:00,060 --> 00:03:01,910 對於所有的類,它會是相同的。 77 00:03:01,910 --> 00:03:02,270 做到這一點。 78 00:03:02,270 --> 00:03:02,900 它需要5分鐘。 79 00:03:02,900 --> 00:03:07,610 但同時,如果你這樣做有點嚴重, 這還不是最糟糕的事情 80 00:03:07,610 --> 00:03:10,270 在世界上,因為我肯定 當真。 81 00:03:10,270 --> 00:03:13,000 >> 所以,如果你離開我一個笑臉, 我對此表示讚賞。 82 00:03:13,000 --> 00:03:17,550 不過,我也將不勝感激,如果你 給我留下了超過一個笑臉。 83 00:03:17,550 --> 00:03:18,270 但它給你。 84 00:03:18,270 --> 00:03:21,540 我不能告訴你 - 或者像一個大笑臉 面,用資本D.那會 85 00:03:21,540 --> 00:03:23,060 更好。 86 00:03:23,060 --> 00:03:27,860 >> 好吧,這是所有我對問:如果你 有任何問題,你可以問 87 00:03:27,860 --> 00:03:29,370 我,但不言自明。 88 00:03:29,370 --> 00:03:31,090 只是,請填寫。 89 00:03:31,090 --> 00:03:34,390 我會很感激, 它意味著很多給我。 90 00:03:34,390 --> 00:03:38,910 >> OK,這就是我們將要花費 經歷15分鐘。 91 00:03:38,910 --> 00:03:39,800 我要告訴你一些代碼。 92 00:03:39,800 --> 00:03:42,080 我認為這是真的很酷, 這讓我更 93 00:03:42,080 --> 00:03:43,810 興奮的計算機科學。 94 00:03:43,810 --> 00:03:46,480 所以,我希望它會做 為你所有相同的。 95 00:03:46,480 --> 00:03:51,760 >> 我們要開拓 - 而這一切 代碼中,我會送你以後。 96 00:03:51,760 --> 00:03:52,680 但我們只是要開拓 - 97 00:03:52,680 --> 00:03:54,310 我在我的終端 - 98 00:03:54,310 --> 00:03:56,810 我們要打開這個程序 叫[? MySum。 ?] 99 00:03:56,810 --> 00:04:01,290 100 00:04:01,290 --> 00:04:02,540 >> 每個人都可以讀,或 我得更大? 101 00:04:02,540 --> 00:04:07,670 102 00:04:07,670 --> 00:04:13,040 誰能告訴我這是什麼代碼將 當我運行它,或者這是什麼做的 103 00:04:13,040 --> 00:04:14,320 程序會做,當我運行它? 104 00:04:14,320 --> 00:04:30,710 105 00:04:30,710 --> 00:04:32,400 >> [? AVI,?]你怎麼看 它會做什麼? 106 00:04:32,400 --> 00:04:33,335 完成咀嚼。 107 00:04:33,335 --> 00:04:35,033 你不應該談 你的嘴打開。 108 00:04:35,033 --> 00:04:38,330 109 00:04:38,330 --> 00:04:42,860 >> 觀眾:是否採取了一堆 參數,發現它們的總和回國 110 00:04:42,860 --> 00:04:45,285 總和,然後把它打印出來? 111 00:04:45,285 --> 00:04:53,045 或者,它接受兩個參數, 那麼它[聽不清]。 112 00:04:53,045 --> 00:04:56,460 然後它打印出什麼 結果。 113 00:04:56,460 --> 00:04:58,100 >> 演講嘉賓:關閉,真的很近。 114 00:04:58,100 --> 00:04:59,840 有人要添加到 [?阿維什麼?]說的嗎? 115 00:04:59,840 --> 00:05:04,830 116 00:05:04,830 --> 00:05:07,293 你需要給這個程序 任何命令行參數? 117 00:05:07,293 --> 00:05:09,145 >> 觀眾:號 118 00:05:09,145 --> 00:05:09,610 >> 演講嘉賓:號 119 00:05:09,610 --> 00:05:11,250 如果你不給它,會發生什麼 任何命令行參數? 120 00:05:11,250 --> 00:05:12,500 我只是寫點斜線MySum。 121 00:05:12,500 --> 00:05:15,145 122 00:05:15,145 --> 00:05:16,630 >> 觀眾:1加2等於3。 123 00:05:16,630 --> 00:05:17,250 >> 揚聲器:1加2等於3。 124 00:05:17,250 --> 00:05:18,570 它會打印出來。 125 00:05:18,570 --> 00:05:19,450 這是完全正確的。 126 00:05:19,450 --> 00:05:21,370 你會看到打印f 線的下方。 127 00:05:21,370 --> 00:05:23,450 它會打印出A,B,和 然後a和b的總和。 128 00:05:23,450 --> 00:05:26,360 我猜你假設 總和正常工作。 129 00:05:26,360 --> 00:05:28,120 好的假設。 130 00:05:28,120 --> 00:05:32,250 >> 確定,會發生什麼,如果我 給它什麼論據? 131 00:05:32,250 --> 00:05:33,010 [?馬努? ?] 132 00:05:33,010 --> 00:05:36,230 >> 觀眾:它會添加任何 第一個參數是到B。 133 00:05:36,230 --> 00:05:37,150 或2,對不起。 134 00:05:37,150 --> 00:05:38,480 >> 演講嘉賓:對,到2。 135 00:05:38,480 --> 00:05:42,470 有誰知道什麼與strtol呢? 136 00:05:42,470 --> 00:05:43,960 它基本上閱atoi。 137 00:05:43,960 --> 00:05:47,240 ATOI實際上是一個奇特的版本 - 138 00:05:47,240 --> 00:05:49,600 或與strtol的一個簡化版本。 139 00:05:49,600 --> 00:05:51,790 但它實際上使用strtol。 140 00:05:51,790 --> 00:05:54,610 141 00:05:54,610 --> 00:05:58,010 我發現了,因為我想 類似atoi的,然後當我 142 00:05:58,010 --> 00:06:01,110 沒有atoi的,我在這裡讀了下來。 143 00:06:01,110 --> 00:06:04,380 而且我發現“這種行為 是相同的“與strtol。 144 00:06:04,380 --> 00:06:06,850 所以它基本上是閱atoi為 所有意圖和目的。 145 00:06:06,850 --> 00:06:09,320 而且你看,我什至使用空和10。 146 00:06:09,320 --> 00:06:14,390 >> 這實際上可以讓你把一個字符串, 並把它變成一個數字,然後選擇 147 00:06:14,390 --> 00:06:15,970 你想這樣做。什麼基地 148 00:06:15,970 --> 00:06:17,370 因此,這是基地10就在這裡。 149 00:06:17,370 --> 00:06:20,455 我可以為十進制做基礎二, 基地16進制。 150 00:06:20,455 --> 00:06:22,090 它很酷。 151 00:06:22,090 --> 00:06:25,860 不過長話短說,這需要兩個 數字並將它們相加。 152 00:06:25,860 --> 00:06:29,260 >> 因此,讓我們運行它。 153 00:06:29,260 --> 00:06:32,560 而且你還會發現,有 有一些事情 - 154 00:06:32,560 --> 00:06:37,830 所以我有一個makefile就在這裡,和 如果您打開了,有些事情 155 00:06:37,830 --> 00:06:39,270 你會發現是不同的。 156 00:06:39,270 --> 00:06:42,370 尤其是,這種說法 在這裡,你可能 157 00:06:42,370 --> 00:06:43,010 以前沒有見過的。 158 00:06:43,010 --> 00:06:45,770 一般情況下,我們編譯的東西 與破折號零,零。 159 00:06:45,770 --> 00:06:51,500 短跑零,零,表示不做 任何優化,編譯器。 160 00:06:51,500 --> 00:06:54,950 不要嘗試做任何幻想,或 做任何事情更快地運行,或獲得 161 00:06:54,950 --> 00:06:56,530 擺脫是必要的變量。 162 00:06:56,530 --> 00:06:58,080 不要優化這個代碼在所有, 163 00:06:58,080 --> 00:07:00,110 >> 我所要求的第三級 優化。 164 00:07:00,110 --> 00:07:02,580 所以我問的編譯器做 很多優化。 165 00:07:02,580 --> 00:07:05,870 您可以更改在makefile時 你有這樣的代碼,如果你想 166 00:07:05,870 --> 00:07:07,190 看到不同的東西。 167 00:07:07,190 --> 00:07:08,660 我們將顯示在第二個。 168 00:07:08,660 --> 00:07:12,080 所以我們跑我總和1加2加3。 169 00:07:12,080 --> 00:07:13,445 有人給我兩個參數。 170 00:07:13,445 --> 00:07:17,221 171 00:07:17,221 --> 00:07:18,210 >> 觀眾:4和5。 172 00:07:18,210 --> 00:07:18,966 >> 揚聲器:4和5。 173 00:07:18,966 --> 00:07:19,900 謝謝。 174 00:07:19,900 --> 00:07:20,860 偉大的,它的工作原理。 175 00:07:20,860 --> 00:07:25,700 什麼是其他一些很好的理由 嘗試,以確保這個工程? 176 00:07:25,700 --> 00:07:27,050 任何人嗎? 177 00:07:27,050 --> 00:07:27,430 >> 觀眾:0。 178 00:07:27,430 --> 00:07:29,210 >> 演講嘉賓:0和? 179 00:07:29,210 --> 00:07:31,010 >> 觀眾:負3。 180 00:07:31,010 --> 00:07:32,040 >> 演講嘉賓:它的工作原理。 181 00:07:32,040 --> 00:07:33,670 但是,這些都是很好的選擇。 182 00:07:33,670 --> 00:07:36,600 好了,讓我們回到這裡。 183 00:07:36,600 --> 00:07:38,540 這是mysum.c。 184 00:07:38,540 --> 00:07:42,440 你會注意到這裡還有東西 所謂sumfunction.c。 185 00:07:42,440 --> 00:07:48,110 與此說,哦,有什麼東西 在sumfunction.c定義。 186 00:07:48,110 --> 00:07:51,480 不包括這個文件中這裡 因為我並不需要。 187 00:07:51,480 --> 00:07:54,840 但我鏈接它,當我編譯, 你注意到了。 188 00:07:54,840 --> 00:07:57,380 >> 讓我們向上滾動。 189 00:07:57,380 --> 00:08:02,880 我們看到,當我們編譯mysum,右 在那裡,我們在從二進制鏈接 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 而且我也不需要在頭文件 當然,因為,還有的 193 00:08:08,470 --> 00:08:09,240 函數聲明。 194 00:08:09,240 --> 00:08:12,200 如此犀利包括通常只是看跌期權 在函數聲明。 195 00:08:12,200 --> 00:08:13,730 在這裡,我只是把它直 在代碼中。 196 00:08:13,730 --> 00:08:16,370 所以我需要做的是鏈接 在二進制,這是我做的。 197 00:08:16,370 --> 00:08:19,950 >> 任何猜測的是什麼 在sumfunction.c? 198 00:08:19,950 --> 00:08:21,950 什麼樣的代碼我已經寫了 在sumfunction.c? 199 00:08:21,950 --> 00:08:25,445 200 00:08:25,445 --> 00:08:26,695 >> 觀眾:[聽不清]。 201 00:08:26,695 --> 00:08:29,460 202 00:08:29,460 --> 00:08:30,630 >> 演講嘉賓:任何猜測? 203 00:08:30,630 --> 00:08:30,940 是嗎? 204 00:08:30,940 --> 00:08:33,710 >> 觀眾:我認為,定義 一些[聽不清]。 205 00:08:33,710 --> 00:08:33,975 >> 演講嘉賓:是的。 206 00:08:33,975 --> 00:08:37,650 所以我做寫整型總和的int a。 207 00:08:37,650 --> 00:08:41,120 我寫這條線,然後我打開 大括號,封閉大括號。 208 00:08:41,120 --> 00:08:46,160 你覺得我寫的那些裡面 大括號,該函數內部? 209 00:08:46,160 --> 00:08:46,600 是嗎? 210 00:08:46,600 --> 00:08:48,150 >> 觀眾:返回等於一。 211 00:08:48,150 --> 00:08:50,010 >> 處理器:這是一個非常不錯的猜測。 212 00:08:50,010 --> 00:08:51,720 誰認為[?馬努?]是正確的? 213 00:08:51,720 --> 00:08:54,122 它說,返回A加B。 214 00:08:54,122 --> 00:08:55,860 好了,不是每個人。 215 00:08:55,860 --> 00:08:56,520 [? AKSHAR,?] 216 00:08:56,520 --> 00:08:57,390 你這樣做,太? 217 00:08:57,390 --> 00:09:00,430 你確定嗎? 218 00:09:00,430 --> 00:09:01,680 確定。 219 00:09:01,680 --> 00:09:09,551 220 00:09:09,551 --> 00:09:10,050 什麼? 221 00:09:10,050 --> 00:09:11,662 >> 觀眾:你拼寫錯了。 222 00:09:11,662 --> 00:09:13,000 >> 演講嘉賓:不,我沒有。 223 00:09:13,000 --> 00:09:13,966 是啊,只是在開玩笑。 224 00:09:13,966 --> 00:09:15,300 你說得對。 225 00:09:15,300 --> 00:09:15,930 這正是它說。 226 00:09:15,930 --> 00:09:17,110 這是返回A加B。 227 00:09:17,110 --> 00:09:18,570 這使得很多的感覺。 228 00:09:18,570 --> 00:09:20,240 >> 好吧,讓我們回到這裡。 229 00:09:20,240 --> 00:09:21,490 我們看到的標題 - 230 00:09:21,490 --> 00:09:24,540 231 00:09:24,540 --> 00:09:25,660 這是返回類型。 232 00:09:25,660 --> 00:09:29,100 請記住,我們已經看到那一天之一, 返回該功能的類型,但去 233 00:09:29,100 --> 00:09:30,160 Int函數的名稱之前。 234 00:09:30,160 --> 00:09:31,560 在這裡,我寫的int。 235 00:09:31,560 --> 00:09:35,680 你覺得會發生什麼,如果在這 功能,我不寫整型,但 236 00:09:35,680 --> 00:09:38,270 我寫簽名? 237 00:09:38,270 --> 00:09:41,050 的差,當然,作為該 無符號僅代表正 238 00:09:41,050 --> 00:09:43,620 整數,整數可以是 正或負。 239 00:09:43,620 --> 00:09:45,450 >> 所以,我已經改變了回報 類型此功能的。 240 00:09:45,450 --> 00:09:49,370 此代碼不匹配 在這裡的返回類型。 241 00:09:49,370 --> 00:09:50,925 你覺得會發生 當我編譯? 242 00:09:50,925 --> 00:09:53,840 243 00:09:53,840 --> 00:09:56,240 你應該罵我。 244 00:09:56,240 --> 00:09:57,700 沒有大呼小叫。 245 00:09:57,700 --> 00:10:00,050 >> 怎麼樣,當我運行程序? 246 00:10:00,050 --> 00:10:05,810 讓前0負的做 3,或負1。 247 00:10:05,810 --> 00:10:10,180 它仍然有效,即使我說 它返回一個無符號整數。 248 00:10:10,180 --> 00:10:12,060 顯然,它不返回 一個無符號整數。 249 00:10:12,060 --> 00:10:13,520 它返回一個有符號整數。 250 00:10:13,520 --> 00:10:16,130 它的返回負1。 251 00:10:16,130 --> 00:10:17,830 好,這是奇怪的。 252 00:10:17,830 --> 00:10:27,030 >> 怎麼樣,如果我去 這裡做到這一點? 253 00:10:27,030 --> 00:10:29,700 所以,我已經改變了一切 從int到無符號。 254 00:10:29,700 --> 00:10:31,590 它只能採取無符號整數。 255 00:10:31,590 --> 00:10:33,840 但是,我們仍然認為它會跑? 256 00:10:33,840 --> 00:10:35,652 >> 觀眾:是的。 257 00:10:35,652 --> 00:10:37,270 >> 演講嘉賓:它會的。 258 00:10:37,270 --> 00:10:39,410 這太瘋狂了。 259 00:10:39,410 --> 00:10:43,140 我們傳遞了一個明確分配 整數,我們可以簽署傳遞兩個 260 00:10:43,140 --> 00:10:46,280 整數,它仍然有效。 261 00:10:46,280 --> 00:10:52,150 >> 為什麼它仍然確定,任何想法 工作,或者這是怎麼回事? 262 00:10:52,150 --> 00:10:53,368 是啊,傑夫。 263 00:10:53,368 --> 00:10:56,296 >> 觀眾:它有事可做 與你優化你 264 00:10:56,296 --> 00:10:57,760 突出顯示。 265 00:10:57,760 --> 00:10:58,210 >> 演講嘉賓:號 266 00:10:58,210 --> 00:11:00,570 我們可以改變優化, 它仍然正常工作。 267 00:11:00,570 --> 00:11:02,240 我可以為你做的,但是 - 268 00:11:02,240 --> 00:11:02,930 >> 觀眾:我相信你的話。 269 00:11:02,930 --> 00:11:03,690 >> 演講嘉賓:是的。 270 00:11:03,690 --> 00:11:09,690 如果你在這裡打開makefile文件, 我改變了優化。 271 00:11:09,690 --> 00:11:11,570 所以你可以做短線零,零。 272 00:11:11,570 --> 00:11:12,820 它仍然可以工作。 273 00:11:12,820 --> 00:11:16,839 274 00:11:16,839 --> 00:11:20,280 其他的想法? 275 00:11:20,280 --> 00:11:22,600 >> 你們所有預期的工作,所以 為什麼你期望它的工作? 276 00:11:22,600 --> 00:11:31,210 277 00:11:31,210 --> 00:11:32,150 沒有? 278 00:11:32,150 --> 00:11:33,660 沉默。 279 00:11:33,660 --> 00:11:34,910 確定。 280 00:11:34,910 --> 00:11:39,271 281 00:11:39,271 --> 00:11:41,650 我要等上七年秒, 因為我問了一個問題。 282 00:11:41,650 --> 00:11:44,190 283 00:11:44,190 --> 00:11:48,660 >> 因此,關於C中的很酷的事情,你已經 你 - 也許之前經歷 284 00:11:48,660 --> 00:11:50,260 可能沒有,這可能 是第一次。 285 00:11:50,260 --> 00:11:57,030 但大家都知道,當我寫 C語言中,它不保存像 286 00:11:57,030 --> 00:11:57,760 在這台計算機上。 287 00:11:57,760 --> 00:11:59,440 它保存為1和0。 288 00:11:59,440 --> 00:12:02,970 它從C代碼到彙編代碼。 289 00:12:02,970 --> 00:12:09,460 >> 有人看到彙編代碼之前, 機器彙編代碼? 290 00:12:09,460 --> 00:12:10,630 我們來看看在第二。 291 00:12:10,630 --> 00:12:12,040 它從C代碼到彙編代碼。 292 00:12:12,040 --> 00:12:13,755 和你們知道的階段 的彙編。 293 00:12:13,755 --> 00:12:17,410 你必須記住,對於測驗之一, 然後寫出來的測驗為零。 294 00:12:17,410 --> 00:12:18,240 大多數人都錯了​​。 295 00:12:18,240 --> 00:12:19,760 我想你們釘它。 296 00:12:19,760 --> 00:12:22,880 >> 但是,你們是最棒的部分 對於測驗,順便說一句。 297 00:12:22,880 --> 00:12:25,210 這是真棒。 298 00:12:25,210 --> 00:12:25,910 它不會傷害你。 299 00:12:25,910 --> 00:12:26,900 不要擔心。 300 00:12:26,900 --> 00:12:28,800 但它真的很酷。 301 00:12:28,800 --> 00:12:29,660 幹得好。 302 00:12:29,660 --> 00:12:32,870 >> 如此這般,以彙編語言,和 然後它去1和0。 303 00:12:32,870 --> 00:12:35,500 與1和0都保存在 電腦,這就是保存在 304 00:12:35,500 --> 00:12:38,340 a.out的,或者在這種情況下, 可執行文件。 305 00:12:38,340 --> 00:12:41,040 和計算機運行的1和0。 306 00:12:41,040 --> 00:12:41,670 對不對? 307 00:12:41,670 --> 00:12:43,890 之前我們已經了解到這一點。 308 00:12:43,890 --> 00:12:47,490 >> 所以很酷的事情是,這個符號 想法,類型的想法詮釋無符號, 309 00:12:47,490 --> 00:12:50,490 等等,等等,這是 在這裡的C語言。 310 00:12:50,490 --> 00:12:51,110 那些存在。 311 00:12:51,110 --> 00:12:53,770 但類型不存在時 的1和0。 312 00:12:53,770 --> 00:12:57,110 類型什至不存在時 彙編語言水平。 313 00:12:57,110 --> 00:13:00,075 所以這東西存在C語言 世界,但無法在電腦存在 314 00:13:00,075 --> 00:13:01,640 世界或處理器的世界。 315 00:13:01,640 --> 00:13:04,660 這是一些抽象的C 語言已經包括在內,使我們的 316 00:13:04,660 --> 00:13:06,240 生活更輕鬆。 317 00:13:06,240 --> 00:13:09,990 >> 所以,在這一天結束時,我可以寫 這裡很多不同的東西,它 318 00:13:09,990 --> 00:13:10,700 不會有所作為。 319 00:13:10,700 --> 00:13:12,060 因為只存在 在C的世界。 320 00:13:12,060 --> 00:13:14,100 它不會在存在 1和0的世界。 321 00:13:14,100 --> 00:13:17,310 而我們的程序在執行 在1和0的世界。 322 00:13:17,310 --> 00:13:21,170 所以,你的心靈的顯然不是吹呢。 323 00:13:21,170 --> 00:13:22,740 但我認為這很酷。 324 00:13:22,740 --> 00:13:23,530 是啊,傑夫。 325 00:13:23,530 --> 00:13:27,298 >> 觀眾:所以,如果代替 做整型,你做字符。 326 00:13:27,298 --> 00:13:27,770 而你 - 327 00:13:27,770 --> 00:13:29,311 >> 演講嘉賓:讓我們做它在幾秒鐘之內。 328 00:13:29,311 --> 00:13:32,583 >> 觀眾:因為那時候你得到一個 從負128無符號去 329 00:13:32,583 --> 00:13:34,720 127或0到255。 330 00:13:34,720 --> 00:13:36,760 >> 演講嘉賓:所以char是有問題的。 331 00:13:36,760 --> 00:13:39,460 有誰知道為什麼字符會 有問題的,它實際上會 332 00:13:39,460 --> 00:13:42,930 改變的東西,在那些 和歸零的世界? 333 00:13:42,930 --> 00:13:44,370 >> 觀眾:因為字符的大小。 334 00:13:44,370 --> 00:13:46,200 >> 演講嘉賓:字符的大小是1。 335 00:13:46,200 --> 00:13:48,260 所以無符號也是4個字節。 336 00:13:48,260 --> 00:13:50,080 所以字符會搞砸的。 337 00:13:50,080 --> 00:13:55,660 但是,什麼是4個字節是 相關的字符? 338 00:13:55,660 --> 00:13:57,820 或者,增加了一個額外的 - 339 00:13:57,820 --> 00:13:59,760 你可以把一個或多個字符 字符之後。 340 00:13:59,760 --> 00:14:00,200 >> 聽眾:字數明星。 341 00:14:00,200 --> 00:14:01,220 >> 揚聲器:字數星有4個字節。 342 00:14:01,220 --> 00:14:02,490 因此,讓我們做一些事情 這是一個char明星。 343 00:14:02,490 --> 00:14:05,470 344 00:14:05,470 --> 00:14:07,240 >> 因此,這可能會工作,但我們 要做些什麼,甚至 345 00:14:07,240 --> 00:14:09,710 比這更瘋狂。 346 00:14:09,710 --> 00:14:10,960 在我看來,瘋狂。 347 00:14:10,960 --> 00:14:21,060 348 00:14:21,060 --> 00:14:24,570 >> 現在我已經寫了一個函數,返回 一個指針,它需要一個 349 00:14:24,570 --> 00:14:29,480 指針和一個無符號價值 - 我們將 改回為int,所以我們不 350 00:14:29,480 --> 00:14:31,250 做太多的變化一次。 351 00:14:31,250 --> 00:14:35,370 它有一個叫做,索引數組 成陣列,並返回該 352 00:14:35,370 --> 00:14:35,850 的地址。 353 00:14:35,850 --> 00:14:37,470 我們以前見過這些運算符。 354 00:14:37,470 --> 00:14:43,340 對此,你認為什麼這是怎麼回事 這樣做,作為回報,當我運行它? 355 00:14:43,340 --> 00:14:48,280 356 00:14:48,280 --> 00:14:49,070 你覺得它怎麼辦呢? 357 00:14:49,070 --> 00:14:50,320 任何猜測? 358 00:14:50,320 --> 00:14:54,220 359 00:14:54,220 --> 00:14:55,320 >> 觀眾:段錯誤。 360 00:14:55,320 --> 00:14:55,600 >> 演講嘉賓:什麼? 361 00:14:55,600 --> 00:14:56,660 段錯誤? 362 00:14:56,660 --> 00:14:58,520 這是一個很好的猜測。 363 00:14:58,520 --> 00:14:59,430 湯姆說同樣的事情。 364 00:14:59,430 --> 00:15:02,240 任何其他的猜測? 365 00:15:02,240 --> 00:15:05,260 >> 誰認為這將 做同樣的事情? 366 00:15:05,260 --> 00:15:06,510 誰認為它會出現段錯誤? 367 00:15:06,510 --> 00:15:09,350 368 00:15:09,350 --> 00:15:10,230 它做同樣的事情。 369 00:15:10,230 --> 00:15:11,880 抱歉。 370 00:15:11,880 --> 00:15:13,860 >> 但是,當然,我們在1和2。 371 00:15:13,860 --> 00:15:16,470 而這些都是有效的,對不對? 372 00:15:16,470 --> 00:15:19,420 讓我們來看看,我們可以去 第二位的數組。 373 00:15:19,420 --> 00:15:24,010 但是,如果我們做了b 一個負數? 374 00:15:24,010 --> 00:15:26,380 這可能是一個更好的猜想 東西段錯誤。 375 00:15:26,380 --> 00:15:30,310 376 00:15:30,310 --> 00:15:32,260 它仍然有效。 377 00:15:32,260 --> 00:15:35,020 >> OK,這是現在瘋了。 378 00:15:35,020 --> 00:15:38,350 這是同樣有效的和函數。 379 00:15:38,350 --> 00:15:40,470 這樣做同樣的事情 作為返回a和b。 380 00:15:40,470 --> 00:15:44,600 任何人都可以解釋為什麼這是一個很好的 SUM函數,或者為什麼這個工程? 381 00:15:44,600 --> 00:15:45,850 這裡發生了什麼? 382 00:15:45,850 --> 00:15:49,360 383 00:15:49,360 --> 00:15:55,750 為什麼這個做同樣的 因為我們的老SUM函數的事情嗎? 384 00:15:55,750 --> 00:15:56,890 [? AKSHAR,?] 385 00:15:56,890 --> 00:15:58,155 這是怎麼回事? 386 00:15:58,155 --> 00:16:01,540 >> 觀眾:因為當你有 一個一個這是一個地址, 387 00:16:01,540 --> 00:16:03,950 位置記憶 - 388 00:16:03,950 --> 00:16:07,910 當你這樣做的符號,它 去到內存地址。 389 00:16:07,910 --> 00:16:13,610 而當你去B,你是那種 移動從內存地址的步驟, 390 00:16:13,610 --> 00:16:15,550 你回國了。 391 00:16:15,550 --> 00:16:20,083 所以,你實際上,事實上, 添加和b [聽不清]。 392 00:16:20,083 --> 00:16:23,300 393 00:16:23,300 --> 00:16:26,222 哪裡有標準的操作 該回報? 394 00:16:26,222 --> 00:16:27,683 就像,你在哪裡括號下跌呢? 395 00:16:27,683 --> 00:16:30,610 是地址上的返回 一個之前或之後[聽不清]? 396 00:16:30,610 --> 00:16:32,380 >> 演講嘉賓:這將索引β - 397 00:16:32,380 --> 00:16:34,430 或索引到一個 - 然後 返回地址。 398 00:16:34,430 --> 00:16:38,800 399 00:16:38,800 --> 00:16:41,340 好了,大家都明白 什麼[? AKSHAR?] 400 00:16:41,340 --> 00:16:45,830 說,並解釋,為什麼這個工程? 401 00:16:45,830 --> 00:16:49,430 我沒有,第一次有人 解釋這樣對我。 402 00:16:49,430 --> 00:16:51,900 會有人喜歡的圖片 解釋這個? 403 00:16:51,900 --> 00:16:55,320 我們要畫一幅畫,用 無標記,這是偉大的。 404 00:16:55,320 --> 00:16:57,920 發現了一些。 405 00:16:57,920 --> 00:17:03,390 >> 所以我們有一個數組,是 一系列框。 406 00:17:03,390 --> 00:17:07,160 407 00:17:07,160 --> 00:17:13,710 第一個是一個索引0,索引 1,2,3,4,點,點,點。 408 00:17:13,710 --> 00:17:15,609 一個典型的陣列。 409 00:17:15,609 --> 00:17:19,540 並且除了擁有指數, 他們都有內存地址。 410 00:17:19,540 --> 00:17:30,190 因此,讓我們給這個內存地址 13,14,15,16,17,等等。 411 00:17:30,190 --> 00:17:32,490 每個人都到這裡為止。 412 00:17:32,490 --> 00:17:35,810 >> 所以一個是一個地址。 413 00:17:35,810 --> 00:17:38,850 數組,指針的名稱 被保存在那裡。 414 00:17:38,850 --> 00:17:42,730 這是一個指針,它是一個內存位置, 到數組的開始。 415 00:17:42,730 --> 00:17:45,910 所以,如果是這樣的陣列, 一會是13的值。 416 00:17:45,910 --> 00:17:49,110 而且,當然,我們可以給 一個我們想要的任何值。 417 00:17:49,110 --> 00:17:52,450 字符一個明星,我們可以給任何一個 我們想要的內存地址。 418 00:17:52,450 --> 00:17:55,940 我們可以給它0,我們可以給它 負1 - 負1不存在, 419 00:17:55,940 --> 00:17:58,820 所以這可能是有問題的,但 你看見它仍然工作。 420 00:17:58,820 --> 00:18:03,070 所以我們可以給一個任意數量的我們想要的, 我們想要的任何內存地址。 421 00:18:03,070 --> 00:18:08,720 >> 然後,整型B說,好了,去這個號碼 步到數組。 422 00:18:08,720 --> 00:18:13,150 因此,如果b等於2,和等於13, 我們是在內存地址13。 423 00:18:13,150 --> 00:18:17,330 我們走在兩個步驟, 所以我們在這裡。 424 00:18:17,330 --> 00:18:21,150 和符號意味著回報 這個位置的地址。 425 00:18:21,150 --> 00:18:23,990 和地址,當然,15。 426 00:18:23,990 --> 00:18:28,710 因此,我們得到13加2,或 a與b,它是15。 427 00:18:28,710 --> 00:18:29,590 >> 現在的問題是,雖然 - 428 00:18:29,590 --> 00:18:30,250 對不起。 429 00:18:30,250 --> 00:18:34,324 這是否澄清事情 為什麼這個工程? 430 00:18:34,324 --> 00:18:36,300 >> 觀眾:為什麼它的工作打算 - 431 00:18:36,300 --> 00:18:38,770 所以你可以有一個數組, 去到一個負指數? 432 00:18:38,770 --> 00:18:39,050 >> 演講嘉賓:對。 433 00:18:39,050 --> 00:18:40,870 所以我們做了負數, 所以這是 - 434 00:18:40,870 --> 00:18:42,770 這是否有道理,雖然, 首先,[? AVI,?] 435 00:18:42,770 --> 00:18:43,120 你嗎? 436 00:18:43,120 --> 00:18:48,840 >> 觀眾:是啊,我剛 [聽不清],但 - 437 00:18:48,840 --> 00:18:50,440 >> 演講嘉賓:是的,這將返回15。 438 00:18:50,440 --> 00:18:53,523 如果是13,和b是2, 這將返回15。 439 00:18:53,523 --> 00:18:58,160 >> 觀眾:所以零索引不 成為一個問題,對不對? 440 00:18:58,160 --> 00:19:00,160 因為你從0移動。 441 00:19:00,160 --> 00:19:00,470 >> 演講嘉賓:對。 442 00:19:00,470 --> 00:19:05,000 所以你移動 - 所以當b為0, 你不會隨意移動。 443 00:19:05,000 --> 00:19:06,330 而你只希望返回的地址 - 444 00:19:06,330 --> 00:19:10,830 若b為0,這是本質 返回的那個地址。 445 00:19:10,830 --> 00:19:13,960 傳遞的char明星並返回 的地址只是返回一個, 446 00:19:13,960 --> 00:19:15,860 本質。 447 00:19:15,860 --> 00:19:18,280 >> 好了,問題是為什麼 負數工作? 448 00:19:18,280 --> 00:19:21,670 而這對非常酷的事情 這一點,因為這應該出現段錯誤。 449 00:19:21,670 --> 00:19:25,110 它會出現段錯誤,如果我們 做這樣的事情。 450 00:19:25,110 --> 00:19:28,050 451 00:19:28,050 --> 00:19:29,300 比方說,詮釋。 452 00:19:29,300 --> 00:19:34,390 453 00:19:34,390 --> 00:19:39,810 所以這段代碼看起來完全相同, 應具有相同的行為。 454 00:19:39,810 --> 00:19:44,550 本質上,x是可變的垃圾, 所以這應該具有相同的行為。 455 00:19:44,550 --> 00:19:46,370 >> 讓我們把這個 - 456 00:19:46,370 --> 00:19:47,620 哎呀 - 457 00:19:47,620 --> 00:19:54,790 458 00:19:54,790 --> 00:19:56,040 在明星。 459 00:19:56,040 --> 00:19:59,160 460 00:19:59,160 --> 00:20:02,733 好了,我們已經得到錯誤在這裡, 因為它已經將生氣 461 00:20:02,733 --> 00:20:04,610 我,因為它已經 知道什麼是未來。 462 00:20:04,610 --> 00:20:07,060 特別地,第二個。 463 00:20:07,060 --> 00:20:09,800 堆疊內存地址相關聯 使用局部變量。 464 00:20:09,800 --> 00:20:14,220 >> 從本質上講,我不打算編譯 這一點,然後我會做撤消 465 00:20:14,220 --> 00:20:14,920 我們只是做了。 466 00:20:14,920 --> 00:20:19,130 但因為我們從來沒有真正 訪問什麼在記憶 467 00:20:19,130 --> 00:20:21,930 位置,它不會出現段錯誤。 468 00:20:21,930 --> 00:20:26,450 我們從來沒有真正在看什麼 在第二個框或什麼在任何框 469 00:20:26,450 --> 00:20:28,340 此陣。 470 00:20:28,340 --> 00:20:30,980 我們只是說,這裡的地址 的事情,我們正在尋找和 471 00:20:30,980 --> 00:20:32,410 返回地址。 472 00:20:32,410 --> 00:20:35,700 我們從來沒有真正進入了 數組來看看那個位置。 473 00:20:35,700 --> 00:20:39,140 因為我們從來沒有接觸的記憶, 我們不會惹上麻煩。 474 00:20:39,140 --> 00:20:40,760 我們沒有得到一個段錯誤。 475 00:20:40,760 --> 00:20:46,225 >> 如果我們試圖再一次觸碰 記憶,觸摸什麼是在a或b - 476 00:20:46,225 --> 00:20:49,940 或托架b和假設 一個是0和 - 477 00:20:49,940 --> 00:20:53,040 如果為0,甚至,那將是非常 不好,因為我們不能去 478 00:20:53,040 --> 00:20:54,090 向下一路有。 479 00:20:54,090 --> 00:20:58,250 如果a和b均為0,我們試圖 撫摸一下在那裡的話,就要 480 00:20:58,250 --> 00:20:59,110 惹上麻煩。 481 00:20:59,110 --> 00:21:02,160 但是,如果我們不碰那裡的東西, 我們只是返回的地址,它是 482 00:21:02,160 --> 00:21:08,300 實際上不會出現段錯誤,因為 它可讓您執行這些操作。 483 00:21:08,300 --> 00:21:11,920 它只是變得生你的氣,並得到超 生氣,當您嘗試觸摸 484 00:21:11,920 --> 00:21:15,740 實際的內存並返回什麼 在該存儲單元中。 485 00:21:15,740 --> 00:21:17,690 >> 這是否有道理? 486 00:21:17,690 --> 00:21:24,820 這是C。所以只是一個瘋狂的一部分, 我們有一個以上的這些。 487 00:21:24,820 --> 00:21:27,760 488 00:21:27,760 --> 00:21:29,700 >> 誰認為這是很酷? 489 00:21:29,700 --> 00:21:30,280 更多的人。 490 00:21:30,280 --> 00:21:31,070 這是很好的。 491 00:21:31,070 --> 00:21:34,860 OK,這是我們的最後一個。 492 00:21:34,860 --> 00:21:37,314 我希望你能告訴我是否 或者你不覺得這是怎麼回事 493 00:21:37,314 --> 00:21:38,564 做同樣的事情。 494 00:21:38,564 --> 00:22:06,050 495 00:22:06,050 --> 00:22:07,390 >> 我這些寫下來的地方。 496 00:22:07,390 --> 00:22:08,640 我沒有記住他們。 497 00:22:08,640 --> 00:22:33,350 498 00:22:33,350 --> 00:22:42,900 >> 讓我們來看看,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 因此,這是一個數組,現在, 不是函數。 500 00:22:46,670 --> 00:22:49,640 並且它是一個數組,因為我們有正方形 括號,沒有大括號。 501 00:22:49,640 --> 00:22:52,360 而且它是什麼類型的數組? 502 00:22:52,360 --> 00:22:55,540 503 00:22:55,540 --> 00:22:56,862 任何人,嗯? 504 00:22:56,862 --> 00:22:57,694 >> 觀眾:他們的十六進制數? 505 00:22:57,694 --> 00:22:59,650 >> 演講嘉賓:但是,什麼是C型? 506 00:22:59,650 --> 00:23:00,710 他們都有十六進制數字。 507 00:23:00,710 --> 00:23:01,960 什麼是C型? 508 00:23:01,960 --> 00:23:04,730 509 00:23:04,730 --> 00:23:05,480 它會告訴你。 510 00:23:05,480 --> 00:23:07,350 >> 觀眾:它是無符號字符。 511 00:23:07,350 --> 00:23:09,170 >> 演講嘉賓:對,無符號字符。 512 00:23:09,170 --> 00:23:13,050 和兩個十六進制數字 是一個字節。 513 00:23:13,050 --> 00:23:18,540 因此,這些都是1,2,3,4, 5,6,7,8,9個字節。 514 00:23:18,540 --> 00:23:21,360 這9個字節的數組。 515 00:23:21,360 --> 00:23:25,530 >> OK,你可能已經知道 在回答這個問題。 516 00:23:25,530 --> 00:23:29,840 但是,你覺得會 發生在我運行這個? 517 00:23:29,840 --> 00:23:34,110 我說,再一次,在mysum.c, 我期待的功能 518 00:23:34,110 --> 00:23:36,280 採用兩個整數。 519 00:23:36,280 --> 00:23:40,265 而且我不是說那筆 是一個字符數組。 520 00:23:40,265 --> 00:23:42,780 521 00:23:42,780 --> 00:23:48,070 有什麼事情發生時, 我運行。/ mysum和做什麼呢? 522 00:23:48,070 --> 00:23:53,230 >> 嗯,首先,你最可能會 同意化妝 - 哦不,只是開個玩笑。 523 00:23:53,230 --> 00:23:54,746 Phoebe:我做錯了什麼? 524 00:23:54,746 --> 00:23:55,996 嗯哦。 525 00:23:55,996 --> 00:23:59,220 526 00:23:59,220 --> 00:24:01,160 這應該是大括號。 527 00:24:01,160 --> 00:24:02,790 這就是你如何初始化數組。 528 00:24:02,790 --> 00:24:04,040 我的壞。 529 00:24:04,040 --> 00:24:07,530 530 00:24:07,530 --> 00:24:11,670 >> 因此,我們已經看到了在這之前的類型 是一個C級的抽象,而不是 531 00:24:11,670 --> 00:24:12,610 計算機級別的抽象。 532 00:24:12,610 --> 00:24:16,360 因此,大多數人可能預料到 做,或者假設它將使。 533 00:24:16,360 --> 00:24:18,680 但是當我跑什麼。/ mysum? 534 00:24:18,680 --> 00:24:19,930 有什麼事情發生? 535 00:24:19,930 --> 00:24:21,790 536 00:24:21,790 --> 00:24:23,422 任何猜測? 537 00:24:23,422 --> 00:24:25,270 >> 觀眾:這將 打印出一個字。 538 00:24:25,270 --> 00:24:26,310 >> 演講嘉賓:這將 打印出一個字。 539 00:24:26,310 --> 00:24:29,335 什麼字? 540 00:24:29,335 --> 00:24:32,200 >> 觀眾:[聽不清]。 541 00:24:32,200 --> 00:24:33,240 >> 揚聲器:任何其他的猜測? 542 00:24:33,240 --> 00:24:34,000 OK,打印出的短語。 543 00:24:34,000 --> 00:24:35,130 你可以有任何短語。 544 00:24:35,130 --> 00:24:36,240 這將是你的身邊。 545 00:24:36,240 --> 00:24:38,480 如果誰擁有不同的猜測? 546 00:24:38,480 --> 00:24:39,730 安娜,什麼是你的猜測? 547 00:24:39,730 --> 00:24:42,675 548 00:24:42,675 --> 00:24:44,615 >> 觀眾:它會打印出 - 549 00:24:44,615 --> 00:24:47,525 550 00:24:47,525 --> 00:24:49,480 兩個字母,或[聽不清] 一個字母。 551 00:24:49,480 --> 00:24:51,460 >> 喇叭:一個字母。 552 00:24:51,460 --> 00:24:53,260 >> 觀眾:我可以怎麼算 許多[聽不清]? 553 00:24:53,260 --> 00:24:55,426 >> 演講嘉賓:九。 554 00:24:55,426 --> 00:24:56,640 嗯,我要去執行它。 555 00:24:56,640 --> 00:24:58,650 它同樣的事情。 556 00:24:58,650 --> 00:25:00,190 它增加了兩個數相加。 557 00:25:00,190 --> 00:25:02,740 好吧,讓我們傳遞兩個參數。 558 00:25:02,740 --> 00:25:03,710 它不帶參數。 559 00:25:03,710 --> 00:25:06,080 所以我不知道它在哪裡能 可能得到這些參數。 560 00:25:06,080 --> 00:25:07,710 但是,讓我們通過在100和0。 561 00:25:07,710 --> 00:25:09,200 並把它添加100和0。 562 00:25:09,200 --> 00:25:10,220 這是瘋了。 563 00:25:10,220 --> 00:25:12,280 我想是這樣。 564 00:25:12,280 --> 00:25:14,480 >> 負4,那也有用。 565 00:25:14,480 --> 00:25:15,650 你可以做任何你想要的。 566 00:25:15,650 --> 00:25:17,920 這同樣是一個有效的和函數。 567 00:25:17,920 --> 00:25:19,640 這是一個求和函數。 568 00:25:19,640 --> 00:25:21,510 但是,沒有,你說這是 字節數組。 569 00:25:21,510 --> 00:25:23,570 那麼,什麼是怎麼回事? 570 00:25:23,570 --> 00:25:27,240 >> 所以,再一次,讓我們回到這個思路 我們在開始的時候說。 571 00:25:27,240 --> 00:25:32,050 你從C級代碼,彙編 語言,以1和0。 572 00:25:32,050 --> 00:25:33,050 這是十六進制。 573 00:25:33,050 --> 00:25:35,780 但是,這真的只是一個 大量的1和0。 574 00:25:35,780 --> 00:25:39,230 這是72和0,對不對? 575 00:25:39,230 --> 00:25:40,550 72和0。 576 00:25:40,550 --> 00:25:42,160 9個字節。 577 00:25:42,160 --> 00:25:43,740 每個字節有8比特。 578 00:25:43,740 --> 00:25:44,760 每個位是1還是0。 579 00:25:44,760 --> 00:25:45,920 所以72的1或0。 580 00:25:45,920 --> 00:25:48,780 我剛剛寫他們這樣的 - 而不是寫出來的很多 581 00:25:48,780 --> 00:25:49,730 1和0。 582 00:25:49,730 --> 00:25:53,560 >> 但是,這會從C級 語言,彙編 583 00:25:53,560 --> 00:25:54,620 語言代碼。 584 00:25:54,620 --> 00:25:59,020 這將在代碼打印出來, 某個地方,這些72和0 585 00:25:59,020 --> 00:26:00,910 我已經寫在這裡。 586 00:26:00,910 --> 00:26:03,610 所以某處在於: - 587 00:26:03,610 --> 00:26:04,850 讓我們在這裡 - 588 00:26:04,850 --> 00:26:11,240 某處mysum,程序,有 這些72 1和0,我已經 589 00:26:11,240 --> 00:26:14,930 編寫並告訴它來寫。 590 00:26:14,930 --> 00:26:19,331 >> 現在,任何猜測什麼的 72和0是什麼意思? 591 00:26:19,331 --> 00:26:21,240 >> 觀眾:可能是相同的 東西返回A加B。 592 00:26:21,240 --> 00:26:22,890 >> 演講嘉賓:大概相同 東西返回A加B。 593 00:26:22,890 --> 00:26:23,730 讓我們來驗證。 594 00:26:23,730 --> 00:26:25,210 讓我們來弄清楚我是怎麼做到這一點。 595 00:26:25,210 --> 00:26:31,840 >> 所以,如果你回到這裡,我告訴你 運行此命令,objdump的-S 596 00:26:31,840 --> 00:26:34,290 sumfunction.o。 597 00:26:34,290 --> 00:26:36,230 讓我們去運行它。 objdump的 - 598 00:26:36,230 --> 00:26:37,990 OBJ,轉儲。 599 00:26:37,990 --> 00:26:39,840 基本上,它可以給我 無論我希望看到的。 600 00:26:39,840 --> 00:26:40,840 它可以給我的彙編語言。 601 00:26:40,840 --> 00:26:42,730 它可以給我的1和0。 602 00:26:42,730 --> 00:26:43,840 它有一噸的標誌。 603 00:26:43,840 --> 00:26:45,860 這是一個我們要去 用於現在。 604 00:26:45,860 --> 00:26:46,980 點 - 605 00:26:46,980 --> 00:26:48,810 如您在幻燈片中看到 - 606 00:26:48,810 --> 00:26:53,840 破折號大寫S表示,中散佈, 源代碼 - 607 00:26:53,840 --> 00:26:58,410 這條線是在C - 用彙編 碼,並與1和0。 608 00:26:58,410 --> 00:27:00,350 而我們將要運行 它sumfunction.o。 609 00:27:00,350 --> 00:27:01,410 因為它會很容易看到。 610 00:27:01,410 --> 00:27:02,670 再次 - 嗯? 611 00:27:02,670 --> 00:27:04,700 >> 觀眾:你拼寫錯了。 612 00:27:04,700 --> 00:27:05,930 >> 演講嘉賓:但是實際上,我 要清除它的第二個。 613 00:27:05,930 --> 00:27:09,160 我首先要打開 只是sumfuntion.o。 614 00:27:09,160 --> 00:27:11,170 >> 觀眾:你拼了 錯了第一次。 615 00:27:11,170 --> 00:27:12,420 >> 音箱:經典。 616 00:27:12,420 --> 00:27:14,790 617 00:27:14,790 --> 00:27:15,480 總和 - 618 00:27:15,480 --> 00:27:16,680 這是一個很難的詞,雖然。 619 00:27:16,680 --> 00:27:19,050 你會感到驚訝。 620 00:27:19,050 --> 00:27:21,560 好了,這是sumfunction.o。 621 00:27:21,560 --> 00:27:24,494 622 00:27:24,494 --> 00:27:26,220 我什至不能告訴你。 623 00:27:26,220 --> 00:27:30,250 有很多零的,顯然很多 零,而有一些其他的 624 00:27:30,250 --> 00:27:31,930 東西,這不是零。 625 00:27:31,930 --> 00:27:33,220 但主要零。 626 00:27:33,220 --> 00:27:35,120 看起來像有一些的。 627 00:27:35,120 --> 00:27:36,810 所以很明顯,這是難以閱讀。 628 00:27:36,810 --> 00:27:39,320 這是二進制語言。 629 00:27:39,320 --> 00:27:40,710 >> 現在,讓我們打開它 - 630 00:27:40,710 --> 00:27:50,190 631 00:27:50,190 --> 00:27:52,350 什麼? 632 00:27:52,350 --> 00:27:53,600 我究竟做錯了什麼? 633 00:27:53,600 --> 00:27:56,955 634 00:27:56,955 --> 00:27:58,434 我有沒有正確地拼寫呢? 635 00:27:58,434 --> 00:28:09,865 636 00:28:09,865 --> 00:28:11,120 OK,這是尷尬的。 637 00:28:11,120 --> 00:28:37,560 638 00:28:37,560 --> 00:28:40,158 我需要一秒鐘來計算 什麼我做錯了。 639 00:28:40,158 --> 00:28:46,030 640 00:28:46,030 --> 00:28:49,310 這是一錯誤。 641 00:28:49,310 --> 00:28:50,560 這是奇怪的。 642 00:28:50,560 --> 00:28:58,080 643 00:28:58,080 --> 00:29:01,800 哦,這就是原因。 644 00:29:01,800 --> 00:29:09,880 >> 我要回到我們最初的 之一,所以我們可以看看 645 00:29:09,880 --> 00:29:10,560 該對象的代碼。 646 00:29:10,560 --> 00:29:13,390 因為沒有真的要 是什麼時候,我們只是把 647 00:29:13,390 --> 00:29:14,640 1和0英寸 648 00:29:14,640 --> 00:29:29,000 649 00:29:29,000 --> 00:29:30,200 我們走吧。 650 00:29:30,200 --> 00:29:32,425 好了,大家可以看到這一點。 651 00:29:32,425 --> 00:29:38,130 這個函數,正如我所說, 放出來的C線 - 652 00:29:38,130 --> 00:29:39,060 源代碼行 - 653 00:29:39,060 --> 00:29:41,000 一些彙編指令。 654 00:29:41,000 --> 00:29:42,760 >> 這裡是我們的源代碼行。 655 00:29:42,760 --> 00:29:44,910 這裡有一個,這裡的另一個。 656 00:29:44,910 --> 00:29:46,540 下面是彙編指令。 657 00:29:46,540 --> 00:29:47,820 這就是他們的樣子。 658 00:29:47,820 --> 00:29:49,010 裝配說明 - 659 00:29:49,010 --> 00:29:51,530 您可以了解更多的這些,如果你把 其他連拍類,但他們 660 00:29:51,530 --> 00:29:53,500 通常的指令。 661 00:29:53,500 --> 00:29:57,940 然後源和目的地。 662 00:29:57,940 --> 00:30:02,740 >> 然後在這裡是二進制代碼 對應於該組裝 663 00:30:02,740 --> 00:30:04,940 指令。 664 00:30:04,940 --> 00:30:09,760 因此,大家可以看到,這個和功能, 在一天結束時,為三 665 00:30:09,760 --> 00:30:10,950 彙編指令。 666 00:30:10,950 --> 00:30:12,870 只有三個。 667 00:30:12,870 --> 00:30:14,180 一個MOV - 668 00:30:14,180 --> 00:30:16,740 這個M-O-V代表的舉動。 669 00:30:16,740 --> 00:30:17,780 添加看台上的地址。 670 00:30:17,780 --> 00:30:20,440 和r-E-t表示返回。 671 00:30:20,440 --> 00:30:22,540 因此,一個MOV,一個加載,一個返回。 672 00:30:22,540 --> 00:30:27,970 而這些,在這裡,是零和 那些對應於該代碼。 673 00:30:27,970 --> 00:30:31,100 >> 所以那些0和1,如果你 知道這些,你可以把 674 00:30:31,100 --> 00:30:32,140 那些直英寸 675 00:30:32,140 --> 00:30:34,130 然後,它會做的 同樣的事情。 676 00:30:34,130 --> 00:30:37,260 因為,在一天結束時,所有 你執行的是一個漫長的系列 677 00:30:37,260 --> 00:30:38,480 0和1。 678 00:30:38,480 --> 00:30:40,700 而這正是你的代碼確實是。 679 00:30:40,700 --> 00:30:41,770 >> 究其原因 - 680 00:30:41,770 --> 00:30:43,680 讓我們來看看一件事。 681 00:30:43,680 --> 00:30:45,440 難道我有makefile文件打開? 682 00:30:45,440 --> 00:30:48,510 因此,如果我們回去衝 零,零在這裡 - 683 00:30:48,510 --> 00:30:52,220 684 00:30:52,220 --> 00:30:57,300 對不起,大寫的O,資本 Ø零,而不是零,零。 685 00:30:57,300 --> 00:31:01,810 而且,我們也做,它會 還是工作一樣。 686 00:31:01,810 --> 00:31:05,420 但現在你有沒有注意到,一個 很多彙編指令。 687 00:31:05,420 --> 00:31:09,090 這是因為,再一次,我問 編譯器不要做任何優化。 688 00:31:09,090 --> 00:31:12,800 >> 所以我仍然可以把所有這些 0和1,並把他們的, 689 00:31:12,800 --> 00:31:13,390 並且,將工作。 690 00:31:13,390 --> 00:31:15,850 我只是做了優化,因為 這是一個更容易一點,那麼, 691 00:31:15,850 --> 00:31:17,310 編寫一個數組。 692 00:31:17,310 --> 00:31:19,730 但是,這將很好的工作。 693 00:31:19,730 --> 00:31:24,460 >> 好了,我們要做的最後一件事, 因為我認為是最酷的一部分。 694 00:31:24,460 --> 00:31:27,410 儘管每個人都清楚的 已經燒斷,說不出話來。 695 00:31:27,410 --> 00:31:30,520 696 00:31:30,520 --> 00:31:31,670 我們的頭腦吹。 697 00:31:31,670 --> 00:31:32,920 [聽不清] 698 00:31:32,920 --> 00:31:47,580 699 00:31:47,580 --> 00:31:51,520 >> 所以,這些都是從不同的CS類, 這是超級有趣, 700 00:31:51,520 --> 00:31:52,970 我已經採取了 - 701 00:31:52,970 --> 00:31:54,140 CS61。 702 00:31:54,140 --> 00:31:55,910 我強烈建議你把它。 703 00:31:55,910 --> 00:31:58,990 但是,關於這一事實的最酷的部分,即 事情是0和1, 704 00:31:58,990 --> 00:32:01,270 是這一切都是 0和1。 705 00:32:01,270 --> 00:32:05,330 >> 所以,你可以採取具有文件 你想正確的0和1 706 00:32:05,330 --> 00:32:10,390 在某處它,並用那款 0和1作為和功能。 707 00:32:10,390 --> 00:32:11,480 >> 這是什麼意思了嗎? 708 00:32:11,480 --> 00:32:15,755 我的意思是你可以採取一個圖像文件 具有正確的一系列零和 709 00:32:15,755 --> 00:32:17,120 的,打印的東西 到的圖像。 710 00:32:17,120 --> 00:32:20,070 和一個程序可能將是一個 圖像,但你可以把它解釋,如果 711 00:32:20,070 --> 00:32:22,040 你想,作為一個和函數。 712 00:32:22,040 --> 00:32:27,010 >> 因此,如果我們想打開,為 例如,這個形象。 713 00:32:27,010 --> 00:32:37,440 讓我們去,Hello Kitty的。 714 00:32:37,440 --> 00:32:38,810 美妙的小圖像。 715 00:32:38,810 --> 00:32:42,260 在這裡有該字符串 的0和1。 716 00:32:42,260 --> 00:32:45,500 那些72 0和1 存在於這個形象。 717 00:32:45,500 --> 00:32:47,695 >> 所以,我能做些什麼的話,就是寫 - 718 00:32:47,695 --> 00:32:50,510 719 00:32:50,510 --> 00:32:51,760 我要記住他們在哪裡。 720 00:32:51,760 --> 00:32:54,550 721 00:32:54,550 --> 00:32:55,720 我會發現,在第二。 722 00:32:55,720 --> 00:32:57,840 但我們做的 - 723 00:32:57,840 --> 00:32:59,440 讓我看看他們在哪裡。 724 00:32:59,440 --> 00:33:00,020 一秒鐘。 725 00:33:00,020 --> 00:33:01,270 讓我們做 - 726 00:33:01,270 --> 00:33:05,800 727 00:33:05,800 --> 00:33:07,240 >> 觀眾:[聽不清]。 728 00:33:07,240 --> 00:33:08,490 >> 演講嘉賓:謝謝。 729 00:33:08,490 --> 00:33:24,240 730 00:33:24,240 --> 00:33:28,740 因此,如果我們執行這個程序,它 而不是讀取一個文件,然後它去 731 00:33:28,740 --> 00:33:33,160 這個索引文件中。 732 00:33:33,160 --> 00:33:35,500 然後,再次,就像 mysum,使用兩個數字。 733 00:33:35,500 --> 00:33:41,410 我們可以添加數字完全一樣 我們在做之前,都到 734 00:33:41,410 --> 00:33:44,850 告訴你如何的事實是,在年底 這一天,所有的這些東西都是 735 00:33:44,850 --> 00:33:45,350 0和1。 736 00:33:45,350 --> 00:33:48,170 而且這只是你的選擇 對其進行解釋。 737 00:33:48,170 --> 00:33:50,770 >> 而且如果你真的看 在此圖像 - 738 00:33:50,770 --> 00:33:52,930 讓我們放大一點。 739 00:33:52,930 --> 00:33:53,720 每個人都可以看到它? 740 00:33:53,720 --> 00:33:57,570 你會發現在這裡,有 一些奇怪的污跡。 741 00:33:57,570 --> 00:34:00,130 742 00:34:00,130 --> 00:34:02,290 讓我們去 - 這是原始圖像。 743 00:34:02,290 --> 00:34:04,540 你會發現這裡有沒有污跡。 744 00:34:04,540 --> 00:34:08,420 這是SUM函數的代碼, 就是那麼一點塗抹在那裡。 745 00:34:08,420 --> 00:34:13,449 >> 而實際上,同樣,如果你​​了解更多 關於這一點,你就會意識到,這 746 00:34:13,449 --> 00:34:18,270 凱蒂貓,其中有一個甚至更大的 塗抹,有一個可以接管一個代碼 747 00:34:18,270 --> 00:34:21,800 計算機,如果它不保護 適當。 748 00:34:21,800 --> 00:34:23,920 這樣你就可以真正運行這個。 749 00:34:23,920 --> 00:34:25,380 我不打算現在運行它。 750 00:34:25,380 --> 00:34:30,600 但是你可以運行這個囉 梯圖像,並且它可以 751 00:34:30,600 --> 00:34:32,429 接管您的計算機。 752 00:34:32,429 --> 00:34:35,159 >> 所以這就是所有的演示。 753 00:34:35,159 --> 00:34:38,560 沒有任何人有任何疑問, 意見,顧慮? 754 00:34:38,560 --> 00:34:39,515 我覺得這個東西是迷人的。 755 00:34:39,515 --> 00:34:41,500 它激發了我學習更多。 756 00:34:41,500 --> 00:34:44,980 我強烈建議,如果你有興趣 在所有對CS,跟我說話。 757 00:34:44,980 --> 00:34:50,250 雖然我是一個社會學 選礦廠,我是CS,二級,所以 758 00:34:50,250 --> 00:34:52,340 我還知道一點點。 759 00:34:52,340 --> 00:34:53,810 不過,我當然知道是什麼 類,你應做的。 760 00:34:53,810 --> 00:34:57,940 我覺得這一切都非常有趣, 我鼓勵你,當然,要 761 00:34:57,940 --> 00:35:00,330 了解更多,如果你有興趣。 762 00:35:00,330 --> 00:35:02,090 >> 好吧,我有一個最後的事情。 763 00:35:02,090 --> 00:35:05,530 764 00:35:05,530 --> 00:35:05,870 抱歉。 765 00:35:05,870 --> 00:35:06,460 有問題嗎? 766 00:35:06,460 --> 00:35:10,010 我沒有停下來等待,如果任何人 有有關的任何問題。 767 00:35:10,010 --> 00:35:13,220 768 00:35:13,220 --> 00:35:16,900 >> 是否有人會成為 一個CS集中? 769 00:35:16,900 --> 00:35:18,580 或思考呢? 770 00:35:18,580 --> 00:35:20,730 一,二,三,四。 771 00:35:20,730 --> 00:35:21,620 一個 - 只有一個。 772 00:35:21,620 --> 00:35:24,680 安娜的是唯一的手那 權威提出。 773 00:35:24,680 --> 00:35:27,640 774 00:35:27,640 --> 00:35:29,390 好了,這很酷。 775 00:35:29,390 --> 00:35:30,110 阿薩姆邦,那你打算怎麼辦? 776 00:35:30,110 --> 00:35:33,220 >> 觀眾:[聽不清]。 777 00:35:33,220 --> 00:35:33,910 >> 演講嘉賓:康斯坦丁? 778 00:35:33,910 --> 00:35:34,990 >> 觀眾:物理。 779 00:35:34,990 --> 00:35:36,720 >> 演講嘉賓:哇,那是快。 780 00:35:36,720 --> 00:35:40,770 你曾在CS50一個壞的經驗? 781 00:35:40,770 --> 00:35:42,015 [聽不清],你會怎樣做? 782 00:35:42,015 --> 00:35:42,980 >> 觀眾:我不知道。 783 00:35:42,980 --> 00:35:43,924 >> 演講嘉賓:柯特? 784 00:35:43,924 --> 00:35:45,900 >> 觀眾:經濟學或CS。 785 00:35:45,900 --> 00:35:46,910 >> 演講嘉賓:經濟學或CS。 786 00:35:46,910 --> 00:35:47,840 湯姆? 787 00:35:47,840 --> 00:35:48,385 >> 觀眾:我做統計。 788 00:35:48,385 --> 00:35:48,950 >> 演講嘉賓:統計? 789 00:35:48,950 --> 00:35:50,100 確定。 790 00:35:50,100 --> 00:35:51,000 你是什​​麼? 791 00:35:51,000 --> 00:35:51,310 >> 觀眾:我? 792 00:35:51,310 --> 00:35:51,750 >> 演講嘉賓:是的。 793 00:35:51,750 --> 00:35:52,190 >> 觀眾:統計。 794 00:35:52,190 --> 00:35:52,520 >> 演講嘉賓:統計 795 00:35:52,520 --> 00:35:53,500 哦,你去那裡。 796 00:35:53,500 --> 00:35:55,200 湯姆,跟奧爾登。 797 00:35:55,200 --> 00:35:56,932 艾米麗,你這是? 798 00:35:56,932 --> 00:35:57,396 >> 觀眾:生物醫學 - 799 00:35:57,396 --> 00:36:00,178 >> 演講嘉賓:您在本節? 800 00:36:00,178 --> 00:36:03,040 >> 觀眾:號 801 00:36:03,040 --> 00:36:04,530 >> 演講嘉賓:好,這是艾米莉。 802 00:36:04,530 --> 00:36:05,670 她是我的朋友。 803 00:36:05,670 --> 00:36:10,080 顯然,不是說好了的朋友, 因為她給了我一個困難時期。 804 00:36:10,080 --> 00:36:13,223 你可能是更好的給我在前面 大家,我的學生 - 805 00:36:13,223 --> 00:36:14,580 >> 觀眾:我做你的Q導。 806 00:36:14,580 --> 00:36:14,870 >> 演講嘉賓:真的嗎? 807 00:36:14,870 --> 00:36:15,510 嗯哦。 808 00:36:15,510 --> 00:36:17,224 好吧,你真了不起。 809 00:36:17,224 --> 00:36:19,380 我愛你這麼多。 810 00:36:19,380 --> 00:36:20,600 哦男孩。 811 00:36:20,600 --> 00:36:28,320 >> 無論如何,我,昨晚, 像一切 - 812 00:36:28,320 --> 00:36:32,220 我敢肯定,每個人似乎真的 強調現在。 813 00:36:32,220 --> 00:36:35,970 我不知道,是大一 - 是 你們感到壓力? 814 00:36:35,970 --> 00:36:36,855 我感覺壓力。 815 00:36:36,855 --> 00:36:37,980 這就像,你回家 感恩節。 816 00:36:37,980 --> 00:36:40,660 你喜歡,我要去 做所有這些事情。 817 00:36:40,660 --> 00:36:41,530 >> 觀眾:它是如此的不同。 818 00:36:41,530 --> 00:36:42,560 >> 演講嘉賓:是啊,你回來了。 819 00:36:42,560 --> 00:36:45,290 傑夫,你不會有這樣的感覺? 820 00:36:45,290 --> 00:36:46,610 >> 觀眾:我只是在想 我會做一點點。 821 00:36:46,610 --> 00:36:48,660 >> 演講嘉賓:好,太好了。 822 00:36:48,660 --> 00:36:51,650 所以,我回來了,我還沒有 做任何事情。 823 00:36:51,650 --> 00:36:53,260 而這一切都超級緊張。 824 00:36:53,260 --> 00:36:55,640 與我而言,真正關心, 關於是否我 825 00:36:55,640 --> 00:36:57,380 要完成一切,我不得不這樣做。 826 00:36:57,380 --> 00:37:01,750 但昨晚,我沒有強調, 我只是有點傷感。 827 00:37:01,750 --> 00:37:04,520 所以,我寫在我的日記關於 我很傷心的。 828 00:37:04,520 --> 00:37:08,020 我很傷心這部分 在這個類中即將結束。 829 00:37:08,020 --> 00:37:11,100 >> 所以,我正要讀了你們 我的日記一個小片段, 830 00:37:11,100 --> 00:37:12,950 從昨晚。 831 00:37:12,950 --> 00:37:17,400 我可以得到一些餐巾紙, 一些組織從湯姆? 832 00:37:17,400 --> 00:37:18,040 不,我要哭了。 833 00:37:18,040 --> 00:37:19,720 我沒有哭。 834 00:37:19,720 --> 00:37:22,030 這並不是說你不能哭, 我只是不哭泣。 835 00:37:22,030 --> 00:37:24,040 我什至不知道我的淚 腺體工作 - 淚腺。 836 00:37:24,040 --> 00:37:25,630 我沒有哭的很長一段時間。 837 00:37:25,630 --> 00:37:26,510 >> 觀眾:[聽不清]。 838 00:37:26,510 --> 00:37:28,920 >> 演講嘉賓:好的,謝謝。 839 00:37:28,920 --> 00:37:30,070 好了,有一個小序 - 840 00:37:30,070 --> 00:37:32,480 還有我的一些雜誌上其他地區 項,因為我嘗試每日記 841 00:37:32,480 --> 00:37:33,600 前一天晚上我到床上。 842 00:37:33,600 --> 00:37:34,900 我強烈推薦日記。 843 00:37:34,900 --> 00:37:38,600 它可以幫助你處理事情,也 很欣賞你的日子。 844 00:37:38,600 --> 00:37:43,063 它使人們更方便看 回到你的一天,並認識到 845 00:37:43,063 --> 00:37:44,240 有很多好 事情發生。 846 00:37:44,240 --> 00:37:47,240 即使你感覺確實強調 在夜間或非常沮喪,或 847 00:37:47,240 --> 00:37:49,022 真是悲哀或疲倦。 848 00:37:49,022 --> 00:37:50,272 >> 哦,我的上帝。 849 00:37:50,272 --> 00:37:52,546 850 00:37:52,546 --> 00:37:54,400 我什至不知道它是否撰文指出, 很好,因為我沒有校對。 851 00:37:54,400 --> 00:37:55,780 但我們會閱讀它。 852 00:37:55,780 --> 00:37:59,950 我平時不看我的 日記,很明顯。 853 00:37:59,950 --> 00:38:03,720 >> “明天,我會教我的最後 今年CS50部分。 854 00:38:03,720 --> 00:38:05,860 這是瘋狂的速度有多快時間過得真快。 855 00:38:05,860 --> 00:38:09,900 然而,我被多麼不同的擊打 我的經驗,今年是教學 856 00:38:09,900 --> 00:38:11,365 比當我還是個大二。 857 00:38:11,365 --> 00:38:14,120 對於初學者來說,我絕對 知道材料更好。 858 00:38:14,120 --> 00:38:16,820 但是,不要告訴我的第一批 學生說。 859 00:38:16,820 --> 00:38:20,030 更重要的是,我意識到 那是來自於站立的喜悅 860 00:38:20,030 --> 00:38:23,160 在一個房間裡的東西開始時的前 作為陌生人,但最終因為在 861 00:38:23,160 --> 00:38:27,150 至少,Facebook上的朋友,是 不是第一年僥倖。 862 00:38:27,150 --> 00:38:29,970 相反,它是從知道的是,在 一些小方法,你幫助 863 00:38:29,970 --> 00:38:32,980 有才華,周到,愉快,和 多情的人了解多一點 864 00:38:32,980 --> 00:38:34,750 關於計算機科學。 865 00:38:34,750 --> 00:38:37,480 >> 你的移動燈泡只是一個 在插槽位,因此它的能 866 00:38:37,480 --> 00:38:42,120 照比你更亮,或者他們, 能夠想像在學期的開始。 867 00:38:42,120 --> 00:38:45,390 你幫助把這些皺眉上攻 下來,問問題, 868 00:38:45,390 --> 00:38:49,240 提供支持,但仍然允許 學生站起來自己。 869 00:38:49,240 --> 00:38:52,190 >> 這當然不是一個誇張的 說這部分是我最喜歡的 870 00:38:52,190 --> 00:38:53,190 週的一部分。 871 00:38:53,190 --> 00:38:57,930 甚至可以說,我毫不猶豫地說,這是 總之,在每個週末下午5:30,知道 872 00:38:57,930 --> 00:39:00,640 這將是太長了 直到我們再次見面。 873 00:39:00,640 --> 00:39:02,740 >> 然而,我非常感謝 誰給了我這個人 874 00:39:02,740 --> 00:39:05,010 機會回饋他人。 875 00:39:05,010 --> 00:39:07,340 大衛,對他的耐心和信任。 876 00:39:07,340 --> 00:39:11,040 電影及製作人員,為 讓我看起來有點尊敬。 877 00:39:11,040 --> 00:39:15,380 而且,最重要的是,我的學生, 沒有他們,我沒有理由 878 00:39:15,380 --> 00:39:17,890 花10小時找出最好的 方式提請指針,或者制定出一個 879 00:39:17,890 --> 00:39:20,330 表海豚,通過JavaScript。 880 00:39:20,330 --> 00:39:22,620 與往常一樣,它是一個祝福。“ 881 00:39:22,620 --> 00:39:25,420 >> 因此,與那,謝謝你們。 882 00:39:25,420 --> 00:39:29,000 我會看到你的所有在CS50公正, 該hackathon,如果你在那裡。 883 00:39:29,000 --> 00:39:32,020 如果你有任何問題,我會堅持 各地,直到沒有更多的。 884 00:39:32,020 --> 00:39:33,760 但我感謝你們 一個美好的一年。 885 00:39:33,760 --> 00:39:37,290 >> [掌聲] 886 00:39:37,290 --> 00:39:38,540 >> 演講嘉賓:我可能會流淚。 887 00:39:38,540 --> 00:39:40,800