1 00:00:00,000 --> 00:00:07,700 2 00:00:07,700 --> 00:00:15,180 >> SPEAKER: OK، بنابراین، شما آن را باور نمی کند، اما در هفته گذشته، روز دوشنبه، در پیرس، I 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 یافتن آیفون من ادامه می دهد به سودمند. 12 00:00:34,540 --> 00:00:37,340 بنابراین من به تشویق شما را به استفاده از آن نیست. 13 00:00:37,340 --> 00:00:42,270 این تبدیل در یک بار، و آن را در MIT بود، مانند 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 >> OK. 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 بنابراین من فرض اگر شما کامپیوتر شما تا، سپس شما را در فیس بوک است. 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 >> و سپس شما می توانید TFS انتخاب کنید. 55 00:02:15,690 --> 00:02:17,750 و شما می توانید به عنوان بسیاری از را انتخاب کنید TFS به عنوان شما می خواهید. 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 و درست مثل بازخورد شما بوده ام به من در طول ترم، I 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 این پنج دقیقه طول می کشد. 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 >> OK، که همه من برای Q. اگر شما هر گونه سوال، شما می توانید بپرسید 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 >> SPEAKER: بستن، واقعا نزدیک است. 114 00:04:58,100 --> 00:04:59,840 هر کسی می خواهید برای اضافه کردن به [؟ چه فرمت Avi؟] گفت؟ 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 >> SPEAKER: شماره 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 >> SPEAKER: 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. 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 >> OK و چه اتفاقی می افتد اگر من آن چه استدلال را؟ 131 00:05:32,250 --> 00:05:33,010 [؟ مانو؟ ؟] 132 00:05:33,010 --> 00:05:36,230 >> رسید آن را می خواهیم اضافه کردن به هر آرگومان اول است که به ب. 133 00:05:36,230 --> 00:05:37,150 و یا به 2، متاسفم. 134 00:05:37,150 --> 00:05:38,480 >> SPEAKER: راست، به 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 >> SPEAKER: 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 >> SPEAKER: 0 و؟ 179 00:07:29,210 --> 00:07:31,010 >> یک مدعو: منفی 3. 180 00:07:31,010 --> 00:07:32,040 >> SPEAKER: این کار می کند. 181 00:07:32,040 --> 00:07:33,670 اما کسانی که انتخاب های خوبی بودند. 182 00:07:33,670 --> 00:07:36,600 OK، پس بیایید به عقب برگرده اینجا. 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 >> SPEAKER: هر گونه حدس بزند؟ 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 >> SPEAKER: بله. 206 00:08:33,975 --> 00:08:37,650 بنابراین من نوشتن جمع اعضای هیات هوشمند. 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 >> PROCESSOR: این یک حدس است واقعا خوب است. 212 00:08:50,010 --> 00:08:51,720 چه کسی فکر می کند [؟ مانو؟] درست است؟ 213 00:08:51,720 --> 00:08:54,122 این گزارش می گوید بازگشت به علاوه ب. 214 00:08:54,122 --> 00:08:55,860 OK، نه همه. 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 OK. 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 >> SPEAKER: نه، من نیست. 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 این بازگشت به علاوه ب. 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 قبل از نام تابع هوشمند. 234 00:09:30,160 --> 00:09:31,560 در اینجا، من هوشمند نوشته شده است. 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 OK، که عجیب و غریب. 252 00:10:17,830 --> 00:10:27,030 >> چه اگر من در به در اینجا و در انجام این کار؟ 253 00:10:27,030 --> 00:10:29,700 پس من همه چیز را تغییر داده اید از اعضای هیات به امضا نشده. 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 >> SPEAKER: این خواهد شد. 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 >> OK، هر گونه ایده ها و به همین دلیل آن را هنوز هم کار می کند، و یا چه خبر است؟ 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 >> SPEAKER: شماره 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 >> SPEAKER: آره. 270 00:11:03,690 --> 00:11:09,690 اگر شما برای باز کردن در Makefile حق در اینجا، I بهینه سازی تغییر کرده است. 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 OK. 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 این به عنوان یک و صفر را نجات داد. 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 >> پس از آن به زبان اسمبلی می رود، و سپس آن را به یک و صفر می رود. 303 00:12:32,870 --> 00:12:35,500 و یک و صفر بر نجات داد کامپیوتر، و این چیزی است که در ذخیره 304 00:12:35,500 --> 00:12:38,340 a.out، و یا در این مورد، فایل اجرایی. 305 00:12:38,340 --> 00:12:41,040 و کامپیوتر اجرا می شود یک و صفر. 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 >> بنابراین چیزی که جالب است، این علامت ایده، ایده از انواع نوع داده int بدون علامت، 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 اما نوع را در وجود ندارد یک و صفر. 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 این کار در وجود ندارد یک و صفر جهان است. 321 00:13:14,100 --> 00:13:17,310 و برنامه ما اجرا در یک و صفر جهان است. 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 >> SPEAKER: بیایید آن را انجام دهد در یک ثانیه. 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 >> SPEAKER: بنابراین کاراکتر مشکل ساز است. 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 >> SPEAKER: حجم از کاراکترها 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 >> SPEAKER: چهار ستاره دارای 4 بایت. 342 00:14:01,220 --> 00:14:02,490 بنابراین اجازه دهید کاری انجام دهد که یک ستاره کاراکتر است. 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 crazier این از این. 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 اشاره گر و مقدار بدون علامت - ما به تغییر این برگشت به اعضای هیات بنابراین ما نیست 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 >> یک مدعو: Segfault. 360 00:14:55,320 --> 00:14:55,600 >> SPEAKER: چه؟ 361 00:14:55,600 --> 00:14:56,660 Segfault؟ 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 چه کسی فکر می کند آن را به segfault؟ 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 اما اگر ما ساخته شده ب یک عدد منفی؟ 374 00:15:24,010 --> 00:15:26,380 این است که احتمالا حدس می زنم بهتر برای چیزی segfaulting. 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 آیا می توانم هر کسی توضیح دهد که چرا این خوب است خلاصه عملکرد، و یا چرا این کار می کند؟ 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 چرا این کار همان دقیق چیزی که به عنوان تابع جمع قدیمی ما؟ 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 و هنگامی که شما را به به ب، به شما نوع است حرکت گام از آن آدرس حافظه، 390 00:16:13,610 --> 00:16:15,550 شما در حال بازگشت است. 391 00:16:15,550 --> 00:16:20,083 بنابراین شما در واقع هستید، در واقع، اضافه کردن a و 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 >> SPEAKER: این خبر به صفحه اول به ب - 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 >> پس از آن، اعضای هیات ب می گوید، OK، به این تعداد از در آرایه مراحل. 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 یا ب به علاوه، که 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 >> SPEAKER: راست. 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 >> SPEAKER: آره، این 15 بازگشت. 438 00:18:50,440 --> 00:18:53,523 اگر 13 بود، و ب 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 >> SPEAKER: راست. 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 اگر ب 0 بود، که در اصل بازگشت که آدرس یک. 445 00:19:10,830 --> 00:19:13,960 پس از گذشت در کاراکتر ستاره و بازگشت آدرس یک است فقط بازگشت، 446 00:19:13,960 --> 00:19:15,860 اساسا. 447 00:19:15,860 --> 00:19:18,280 >> OK، سوال این است که چرا اعداد منفی کار می کند؟ 448 00:19:18,280 --> 00:19:21,670 و این چیزی که واقعا جالب در مورد این این، چرا که این باید segfault. 449 00:19:21,670 --> 00:19:25,110 و این امر می segfault اگر ما چیزی شبیه به این بود. 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 OK، ما در حال حاضر به گرفتن خطاها در اینجا، چرا که در حال حاضر برای رفتن به عصبانی 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 مکان، آن را به segfault. 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 ما segfault می کنید. 475 00:20:40,760 --> 00:20:46,225 >> اگر ما به سعی کردم، دوباره، لمس که حافظه، لمس آنچه که در یک یا ب بود - 476 00:20:46,225 --> 00:20:49,940 یا ب براکت، و با فرض 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 در واقع رفتن به segfault به دلیل آن را به شما اجازه می دهد انجام این عملیات. 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، ب 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 هر کس، HMM؟ 504 00:22:56,862 --> 00:22:57,694 >> یک مدعو: اعداد هگزادسیمال آنها؟ 505 00:22:57,694 --> 00:22:59,650 >> SPEAKER: اما چه نوع 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 >> SPEAKER: راست، کاراکتر بدون علامت. 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 چه اتفاق خواهد افتاد وقتی که I / mysum اجرا و؟ 522 00:23:48,070 --> 00:23:53,230 >> خب، اول، بسیاری از شما احتمالا موافق است که - آه نه، فقط شوخی. 523 00:23:53,230 --> 00:23:54,746 What'd من اشتباه انجام دهید؟ 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 >> SPEAKER: این رفتن به نسخه قابل چاپ کردن یک کلمه. 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 >> SPEAKER: هر گونه حدس بزند دیگر؟ 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 >> SPEAKER: یک نامه. 552 00:24:51,460 --> 00:24:53,260 >> یک مدعو: آیا من می توانم شمارش بسیاری از [نامفهوم]؟ 553 00:24:53,260 --> 00:24:55,426 >> SPEAKER: نه. 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، به مونتاژ زبان، به یک و صفر. 572 00:25:32,050 --> 00:25:33,050 این مبنای شانزده است. 573 00:25:33,050 --> 00:25:35,780 اما این واقعا تنها بسیاری از آنهایی که و صفر. 574 00:25:35,780 --> 00:25:39,230 این 72 یک و صفر است، درست است؟ 575 00:25:39,230 --> 00:25:40,550 72 یک و صفر. 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 هر بیت یک و یا صفر است. 579 00:25:44,760 --> 00:25:45,920 بنابراین 72 آنهایی که یا صفر. 580 00:25:45,920 --> 00:25:48,780 من فقط آنها نوشته شده است، مثل این - به جای نوشتن آن را به عنوان بسیاری از 581 00:25:48,780 --> 00:25:49,730 یک و صفر. 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 یک و صفر 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 یک و صفر است که من 589 00:26:11,240 --> 00:26:14,930 نوشته شده و در آن گفت: برای ارسال. 590 00:26:14,930 --> 00:26:19,331 >> در حال حاضر، هر حدس بزند برای چه کسانی 72 یک و صفر چیست؟ 591 00:26:19,331 --> 00:26:21,240 >> یک مدعو: احتمالا همان چیزی که به عنوان یک به علاوه ب بازگشت. 592 00:26:21,240 --> 00:26:22,890 >> SPEAKER: احتمالا همان چیزی که به عنوان یک به علاوه ب بازگشت. 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 این می تواند به من یک و صفر می دهد. 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 - با مونتاژ کد و با آنهایی که و صفر. 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 باز هم - HMM؟ 611 00:27:02,670 --> 00:27:04,700 >> یک مدعو: شما آن را وارد کردید اشتباه است. 612 00:27:04,700 --> 00:27:05,930 >> SPEAKER: اما من می خواهم به آن روشن برای یک ثانیه. 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 >> SPEAKER: کلاسیک. 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 OK، بنابراین این 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 یک و صفر شوید 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 OK، بنابراین هر کسی می تواند این را ببینید. 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 شما می توانید بیشتر از این یاد بگیرید اگر شما را دیگر کلاس های CS، اما آنها 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 یکی ویدئویی - 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 به همین دلیل یک ویدئویی، یک افزودنی، یکی بازگشت. 672 00:30:22,540 --> 00:30:27,970 و این، اینجا، از صفر و یک آنهایی که به آن کد مطابقت دارد. 673 00:30:27,970 --> 00:30:31,100 >> بنابراین کسانی که صفر و یک، اگر شما می دانم آن، شما فقط می توانید 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 صفر و یک. 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 با عرض پوزش، درجه سرمایه، سرمایه درجه صفر، صفر، صفر است. 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 >> پس من هنوز هم می تواند همه این را صفر و یک، و پرتاب آنها را در، 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 >> OK، ما قصد داریم به یک چیز نهایی، چرا که من فکر می کنم جالبترین بخش این است. 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 اما نکته جالب در مورد این واقعیت، که همه چیز فقط صفر و یک، 704 00:31:58,990 --> 00:32:01,270 است که همه چیز است صفر و یک. 705 00:32:01,270 --> 00:32:05,330 >> بنابراین شما می توانید یک فایل است که گرفتن صفر درست و آنهایی که شما می خواهید 706 00:32:05,330 --> 00:32:10,390 جایی در آن، و استفاده از آن بخش از صفر و یک به عنوان یک تابع مجموع. 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 بریم، سلام بچه گربه. 714 00:32:37,440 --> 00:32:38,810 تصویر فوق العاده کم است. 715 00:32:38,810 --> 00:32:42,260 در اینجا این است که رشته وجود دارد از صفر و یک. 716 00:32:42,260 --> 00:32:45,500 کسانی که 72 صفر و یک در این تصویر وجود داشته باشد. 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 >> SPEAKER: تشکر. 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 صفر و یک. 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 این کد برای تابع جمع است، این است که لکه کمی سمت راست وجود دارد. 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 حتی اگر من یک مطالعات اجتماعی هستم متمرکز، I 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 >> OK، من یک چیز نهایی داشته باشد. 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 OK، که هوا خنک است. 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 >> SPEAKER: کنستانتین؟ 778 00:35:33,910 --> 00:35:34,990 >> یک مدعو: فیزیک. 779 00:35:34,990 --> 00:35:36,720 >> SPEAKER: اوه، که سریع بود. 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 >> SPEAKER: کوتاه و مختصر؟ 784 00:35:43,924 --> 00:35:45,900 >> یک مدعو: اقتصاد و یا CS. 785 00:35:45,900 --> 00:35:46,910 >> SPEAKER: اقتصاد و یا 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 >> SPEAKER: آمار؟ 789 00:35:48,950 --> 00:35:50,100 OK. 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 >> SPEAKER: آره. 793 00:35:51,750 --> 00:35:52,190 >> یک مدعو: آمار. 794 00:35:52,190 --> 00:35:52,520 >> SPEAKER: آمار. 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 >> SPEAKER: آیا شما در این بخش؟ 800 00:36:00,178 --> 00:36:03,040 >> حضار: نه 801 00:36:03,040 --> 00:36:04,530 >> SPEAKER: OK، که امیلی است. 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 >> SPEAKER: واقعا؟ 807 00:36:14,870 --> 00:36:15,510 اوه اوه. 808 00:36:15,510 --> 00:36:17,224 OK، شما شگفت انگیز است. 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 >> SPEAKER: آره، و به شما باز می گردد. 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 >> SPEAKER: OK، بزرگ است. 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 >> SPEAKER: OK، به لطف. 839 00:37:28,920 --> 00:37:30,070 OK، یک مقدمه کمی وجود دارد - 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 حداقل، دوستان در فیس بوک است نه یک اتفاق سال اول. 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 و یا حتی که من دریغ می گویند، که همه، در 05: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 جدول دلفین ها، از طریق جاوا اسکریپت. 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 >> SPEAKER: من ممکن است گریه. 887 00:39:38,540 --> 00:39:40,800