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