1 00:00:00,000 --> 00:00:07,700 2 00:00:07,700 --> 00:00:15,180 >> ΟΜΙΛΗΤΗΣ: Εντάξει, έτσι, δεν θα το πιστέψετε, αλλά την περασμένη εβδομάδα, τη Δευτέρα, στο Pierce, I 3 00:00:15,180 --> 00:00:16,090 ήταν κάτω στο υπόγειο. 4 00:00:16,090 --> 00:00:17,010 Ποτέ δεν πάω σε Pierce. 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 Αποδείχθηκε για μία φορά, και ήταν στο 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 Και έστειλα email, ρωτώντας εάν θα σας βαθμού 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 λεπτά σε ένα δροσερό demo. 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 Έτσι, υποθέτω, αν έχετε τον υπολογιστή σας up, τότε είστε στο 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 Δεν ξέρω αν μπορείτε να το κάνετε αυτό, Jeff, επειδή είστε φοιτητής και επέκταση. 51 00:02:07,440 --> 00:02:12,730 Αλλά όταν θα πάτε στο Q, αν δεν έχετε κάνει αυτό πριν, να επιλέξετε σας 52 00:02:12,730 --> 00:02:14,020 εκπαιδευτικών, η οποία είναι ο David Μάλαν. 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 Και ακριβώς όπως και τα σχόλια που έχουν πάει που μου δίνετε τη διάρκεια του εξαμήνου, θα 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 Δεν μπορώ να σας πω - ή σαν μια μεγάλη smiley πρόσωπο, με ένα κεφάλαιο D. Αυτό θα 85 00:03:21,540 --> 00:03:23,060 να είναι ακόμα καλύτερη. 86 00:03:23,060 --> 00:03:27,860 >> Εντάξει, αυτό είναι το μόνο που έχω για το 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 >> Εντάξει, αυτό είναι ό, τι θα πάμε να περάσουν 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 Ο καθένας θέλει να προσθέσει στο [? τι 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 >> ΟΜΙΛΗΤΗΣ: Όχι. 119 00:05:09,610 --> 00:05:11,250 Τι θα συμβεί αν δεν το δώσει οποιαδήποτε επιχειρήματα της γραμμής εντολών; 120 00:05:11,250 --> 00:05:12,500 Απλώς γράφω dot κάθετος 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 [? Manu; ?] 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 Και βλέπεις ότι ακόμη και να χρησιμοποιήσετε null και 10. 146 00:06:09,320 --> 00:06:14,390 >> Αυτό σας δίνει τη δυνατότητα πραγματικά να πάρετε ένα string, και να το μετατρέψει σε μια σειρά, και επιλέξτε 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 Dash μηδέν, μηδέν, σημαίνει ότι δεν κάνουν οποιαδήποτε βελτιστοποιήσεις, compiler. 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 Ρωτάω λοιπόν compiler να κάνει πολλές βελτιστοποιήσεις. 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 Και αυτό, λέει, OH, υπάρχει κάτι ορίζεται στο 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 Έτσι, απότομη περιλαμβάνουν συνήθως μόνο puts σε μια δήλωση της συνάρτησης. 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 Έτσι κάνω write int ποσό 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 Ποιος νομίζει ότι [; Manu?] Είναι σωστό; 213 00:08:51,720 --> 00:08:54,122 Λέει επιστρέψει ένα συν 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 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 >> ΟΜΙΛΗΤΗΣ: Όχι, δεν το έκανα. 223 00:09:13,000 --> 00:09:13,966 Ναι, ακριβώς kidding. 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 Είναι επιστρέψει ένα συν 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 Τι νομίζετε ότι θα συμβεί, εάν σε αυτό το λειτουργία, δεν γράφω int, αλλά 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 ακέραιοι, και μπορεί να είναι int θετικό ή αρνητικό. 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 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 σε κώδικα assembly. 289 00:12:02,970 --> 00:12:09,460 >> Έχει δει κανείς κώδικα assembly πριν, κώδικα μηχανής συναρμολόγησης; 290 00:12:09,460 --> 00:12:10,630 Θα εξετάσουμε σε ένα δευτερόλεπτο. 291 00:12:10,630 --> 00:12:12,040 Στη συνέχεια, από τον κώδικα C σε κώδικα assembly. 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 >> Έτσι, το δροσερό πράγμα είναι, αυτό το ανυπόγραφο ιδέα, η ιδέα των τύπων ακεραίων ανυπόγραφο, 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 Τύποι δεν χρειάζεται καν πραγματικά υπάρχουν σε το επίπεδο γλώσσας assembly. 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 Αλλά νομίζω ότι είναι cool. 324 00:13:22,740 --> 00:13:23,530 Ναι, Τζεφ. 325 00:13:23,530 --> 00:13:27,298 >> ΚΟΙΝΟ: Έτσι, αν αντί για κάνει int, char κάνετε. 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 Ξέρει κανείς γιατί char θα προβληματική, και θα ήταν πραγματικά 332 00:13:39,460 --> 00:13:42,930 αλλάξουν τα πράγματα σε αυτά και μηδενικά κόσμο; 333 00:13:42,930 --> 00:13:44,370 >> ΚΟΙΝΟ: Λόγω του μεγέθους του char. 334 00:13:44,370 --> 00:13:46,200 >> ΟΜΙΛΗΤΗΣ: Το μέγεθος του char είναι 1. 335 00:13:46,200 --> 00:13:48,260 Έτσι, ανυπόγραφο είναι επίσης 4 bytes. 336 00:13:48,260 --> 00:13:50,080 Έτσι char θα βίδα πράγματα. 337 00:13:50,080 --> 00:13:55,660 Αλλά τι είναι 4 bytes που είναι σχετίζεται με μια χαρα; 338 00:13:55,660 --> 00:13:57,820 Ή ότι προσθέτει ένα επιπλέον - 339 00:13:57,820 --> 00:13:59,760 μπορείτε να βάλετε ένα ακόμα χαρακτήρα μετά char. 340 00:13:59,760 --> 00:14:00,200 >> ΚΟΙΝΟ: Χαρ αστέρι. 341 00:14:00,200 --> 00:14:01,220 >> ΟΜΙΛΗΤΗΣ: Char αστέρων διαθέτει 4 bytes. 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 >> ΚΟΙΝΟ: segfault. 360 00:14:55,320 --> 00:14:55,600 >> ΟΜΙΛΗΤΗΣ: Τι; 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 Tom λέει το ίδιο πράγμα. 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 >> Εντάξει, αυτό είναι τρελό τώρα. 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 Έτσι είστε στην πραγματικότητα, στην πραγματικότητα, προσθέτοντας α και β [δεν ακούγεται]. 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 Char αστέρι ένα, μπορούμε να δώσουμε μια οποιαδήποτε διεύθυνση μνήμης που θέλουμε. 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 >> Στη συνέχεια, int 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, ή ένα συν 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, που είναι κατ 'ουσίαν να αποκατασταθεί η διεύθυνση του a. 445 00:19:10,830 --> 00:19:13,960 Περνώντας σε ένα char αστέρι και την επιστροφή του διεύθυνση του a είναι απλά μια επιστροφή, 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 Και αυτό είναι το πραγματικά δροσερό πράγμα για αυτό, διότι αυτό θα πρέπει να 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 Ας πούμε, int. 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 Ουσιαστικά, το χ είναι μία μεταβλητή σκουπίδια, και έτσι αυτό πρέπει να συμπεριφέρονται πανομοιότυπα. 455 00:19:44,550 --> 00:19:46,370 >> Ας κάνουμε αυτό - 456 00:19:46,370 --> 00:19:47,620 oops - 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 θέση, δεν πρόκειται να 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 ή ένα βραχίονα 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 Εάν Α και Β είναι τα δύο 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 Παίρνει μόνο θυμωμένος μαζί σας, και παίρνει super θυμωμένος, όταν προσπαθείτε να αγγίξετε 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 Εντάξει, αυτό είναι το τελευταίο μας. 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 Και δύο δεκαεξαδικούς αριθμούς είναι ένα byte. 513 00:23:13,050 --> 00:23:18,540 Έτσι, αυτά είναι 1, 2, 3, 4, 5, 6, 7, 8, 9 bytes. 514 00:23:18,540 --> 00:23:21,360 Είναι μια σειρά από 9 bytes. 515 00:23:21,360 --> 00:23:25,530 >> Εντάξει, ίσως ήδη γνωρίζετε η απάντηση στο ερώτημα αυτό. 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 >> Λοιπόν, κατ 'αρχάς, οι περισσότεροι από εσάς θα είναι πιθανώς συμφωνούν ότι η make - Ω, όχι, ακριβώς kidding. 523 00:23:53,230 --> 00:23:54,746 Τι κάνω λάθος; 524 00:23:54,746 --> 00:23:55,996 Uh oh. 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 Αλλά, όχι, λέτε ότι είναι μια σειρά από bytes. 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 bytes. 577 00:25:42,160 --> 00:25:43,740 Κάθε byte έχει 8 bits. 578 00:25:43,740 --> 00:25:44,760 Κάθε bit είναι ένα ένα ή μηδέν. 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 >> ΚΟΙΝΟ: Πιθανώς το ίδιο πράγμα που επιστρέφουν ένα συν b. 592 00:26:21,240 --> 00:26:22,890 >> ΟΜΙΛΗΤΗΣ: Πιθανώς το ίδιο πράγμα που επιστρέφουν ένα συν 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 Μπορεί να μου δώσει τα αυτά και μηδενικά. 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 Dot - 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 Πάλι - ε; 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 >> ΟΜΙΛΗΤΗΣ: Classic. 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 Εντάξει, αυτό είναι δύσκολη. 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 Εντάξει, έτσι ο καθένας μπορεί να δει αυτό. 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 Ένα mov - 668 00:30:14,180 --> 00:30:16,740 αυτό το m-o-v αντιπροσωπεύει μια κίνηση. 669 00:30:16,740 --> 00:30:17,780 Προσθήκη πόδι Add. 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 >> Έτσι, αυτά τα μηδενικά και αυτοί, αν γνωρίζουν εκείνοι, μπορείτε απλά να βάλετε 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 Συγγνώμη, πρωτεύουσα o, κεφάλαιο 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 >> Γι 'αυτό και θα μπορούσε να πάρει ακόμα όλα αυτά μηδενικά και αυτοί, και να ρίξει τους, 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 να γράψω αυτό το array. 692 00:31:17,310 --> 00:31:19,730 Αλλά αυτό θα μπορούσε να λειτουργήσει εξίσου καλά. 693 00:31:19,730 --> 00:31:24,460 >> Εντάξει, θα πάμε να κάνουμε ένα τελευταίο πράγμα, γιατί πιστεύω ότι είναι το πιο cool μέρος. 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 Ας πάμε, Hello Kitty. 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 Ένα sec. 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 μηδενικά και αυτοί. 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 Hello Kitty, η οποία έχει ακόμη μεγαλύτερη μουτζούρες, έχει κώδικα που μπορεί να πάρει πάνω από ένα 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 Αλλά μπορείτε να εκτελέσετε αυτό το Hello Kitty εικόνα, και να 751 00:34:30,600 --> 00:34:32,429 αναλάβει τον έλεγχο του υπολογιστή σας. 752 00:34:32,429 --> 00:34:35,159 >> Έτσι, αυτό είναι όλο για το demo. 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 Assam, τι σκοπεύετε να κάνετε; 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 >> ΟΜΙΛΗΤΗΣ: Curt; 784 00:35:43,924 --> 00:35:45,900 >> ΚΟΙΝΟ: Econ ή CS. 785 00:35:45,900 --> 00:35:46,910 >> ΟΜΙΛΗΤΗΣ: Econ ή CS. 786 00:35:46,910 --> 00:35:47,840 Τομ; 787 00:35:47,840 --> 00:35:48,385 >> ΚΟΙΝΟ: Κάνω Stat. 788 00:35:48,385 --> 00:35:48,950 >> ΟΜΙΛΗΤΗΣ: Stat; 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 >> ΚΟΙΝΟ: Me? 792 00:35:51,310 --> 00:35:51,750 >> ΟΜΙΛΗΤΗΣ: Ναι. 793 00:35:51,750 --> 00:35:52,190 >> ΚΟΙΝΟ: Stat. 794 00:35:52,190 --> 00:35:52,520 >> ΟΜΙΛΗΤΗΣ: Stat. 795 00:35:52,520 --> 00:35:53,500 Ω, εκεί θα πάτε. 796 00:35:53,500 --> 00:35:55,200 Tom, μιλήστε με Alden. 797 00:35:55,200 --> 00:35:56,932 Emily, τι είσαι; 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 >> ΟΜΙΛΗΤΗΣ: Εντάξει, αυτό είναι Emily. 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 Uh oh. 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 Oh boy. 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 Jeff, δεν αισθάνεστε αυτόν τον τρόπο; 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 Μπορώ να πάρω μερικές χαρτοπετσέτες, ορισμένοι ιστοί από τον Tom; 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 Συστήνω ιδιαίτερα journaling. 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 >> Είσαι μετατόπιση της εν λόγω λάμπα μόνο ένα bit στην υποδοχή της, έτσι ώστε να είναι σε θέση 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 Ή ακόμα ότι διστάζω να πω, ότι είναι όλα, στις 17: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 Για David, για την υπομονή και την εμπιστοσύνη του. 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