1 00:00:07,200 --> 00:00:09,100 [Powered by Google Translate] באַגאַזלענען באָודאַן: זאל ס רעדן וועגן קאַמפּיילערז. 2 00:00:09,100 --> 00:00:11,490 ביז דעם פונט, איר ווע נאָר טייפּט אַרויף דיין מקור קאָד אין 3 00:00:11,490 --> 00:00:14,260 עטלעכע טעקעס, געשיקט זיי דורך דעם גרויס שוואַרץ קעסטל וואָס איז 4 00:00:14,260 --> 00:00:16,890 קלאַנג, און אויס קומט דיין עקסעקוטאַבלע טעקע וואָס טוט 5 00:00:16,890 --> 00:00:19,430 פּונקט וואָס איר געשריבן אין דיין מקור קאָד. 6 00:00:19,430 --> 00:00:22,170 ווי מאַדזשיקאַל ווי אַז ס 'שוין, מיר רע געגאנגען צו נעמען אַ נעענטער 7 00:00:22,170 --> 00:00:23,590 קוק אין וואָס ס 'פאקטיש געשעעניש 8 00:00:23,590 --> 00:00:25,220 ווען מיר צונויפנעמען אַ טעקע. 9 00:00:25,220 --> 00:00:28,580 אַזוי וואָס טוט עס מיינען צו צונויפנעמען עפּעס? 10 00:00:28,580 --> 00:00:31,150 >> נו, אין דער רובֿ גענעראַל זינען, עס נאָר מיטל 11 00:00:31,150 --> 00:00:32,580 טראַנספאָרמינג קאָד געשריבן אין איין 12 00:00:32,580 --> 00:00:34,680 פּראָגראַממינג שפּראַך צו אנדערן. 13 00:00:34,680 --> 00:00:37,550 אבער יוזשאַוואַלי ווען מענטשן זאָגן זיי צונויפנעמען עפּעס, זיי 14 00:00:37,550 --> 00:00:39,660 מיינען זיי ניטאָ גענומען עס פון אַ העכער מדרגה פּראָגראַממינג 15 00:00:39,660 --> 00:00:42,460 שפּראַך צו אַ נידעריקער מדרגה פּראָגראַממינג שפּראַך. 16 00:00:42,460 --> 00:00:44,960 דאס קען ויסקומען ווי זייער סאַבדזשעקטיוו טערמינען. 17 00:00:44,960 --> 00:00:48,090 פֿאַר בייַשפּיל, איר מיסטאָמע טאָן נישט טראַכטן פון C ווי אַ הויך 18 00:00:48,090 --> 00:00:51,440 מדרגה פּראָגראַממינג שפּראַך, אָבער איר טאָן צונויפנעמען עס. 19 00:00:51,440 --> 00:00:52,730 אבער עס ס אַלע קאָרעוו. 20 00:00:52,730 --> 00:00:55,790 ווי מיר וועט זען, דער פֿאַרזאַמלונג קאָד און יווענטשאַוואַלי מאַשין 21 00:00:55,790 --> 00:00:59,270 קאָד וואָס מיר צונויפנעמען אַראָפּ צו איז אַנדינייאַבלי אַ נידעריקער מדרגה 22 00:00:59,270 --> 00:01:00,700 ווי סי 23 00:01:00,700 --> 00:01:03,310 כאָטש מיר וועט זייַן ניצן קלאַנג אין הייַנט ס דעמאַנסטריישאַן, אַ 24 00:01:03,310 --> 00:01:06,360 פּלאַץ פון די געדאנקען דאָ פירן איבער צו אנדערע קאַמפּיילערז. 25 00:01:06,360 --> 00:01:09,160 >> פֿאַר קלאַנג, עס זענען פיר הויפּט טריט אין די קוילעלדיק 26 00:01:09,160 --> 00:01:10,200 זאַמלונג. 27 00:01:10,200 --> 00:01:15,430 די ביסט איינער, פּרעפּראָסעססינג געטאן דורך די פּרעפּראָסעססאָר; צוויי, 28 00:01:15,430 --> 00:01:19,530 זאַמלונג געטאן דורך דער קאַמפּיילער; דרייַ, אַסעמבאַלינג 29 00:01:19,530 --> 00:01:22,010 געטאן דורך די אַסעמבלער; און פיר, 30 00:01:22,010 --> 00:01:24,640 פֿאַרבינדונג געטאן דורך דער לינקער. 31 00:01:24,640 --> 00:01:27,600 עס קען זייַן קאַנפיוזינג אַז איינער פון די סובסטעפּס פון די קוילעלדיק 32 00:01:27,600 --> 00:01:30,980 קלאַנג קאַמפּיילערז איז גערופן דער קאַמפּיילער, אָבער 33 00:01:30,980 --> 00:01:32,530 מיר וועט באַקומען צו וואָס. 34 00:01:32,530 --> 00:01:35,050 מיר וועט זייַן ניצן אַ פּשוט העלא וועלט פּראָגראַם ווי אונדזער בייַשפּיל 35 00:01:35,050 --> 00:01:36,270 איבער דעם ווידעא. 36 00:01:36,270 --> 00:01:38,380 זאל ס נעמען אַ קוק. 37 00:01:38,380 --> 00:01:40,330 >> דער ערשטער שריט איז פּרעפּראָסעססינג. 38 00:01:40,330 --> 00:01:42,520 וואָס טוט דער פּרעפּראָסעססאָר טאָן? 39 00:01:42,520 --> 00:01:45,560 אין שיין פיל יעדער C פּראָגראַם איר ווע אלץ לייענען אָדער געשריבן, 40 00:01:45,560 --> 00:01:48,310 איר ווע געניצט שורות פון קאָד וואָס אָנהייבן מיט אַ האַש. 41 00:01:48,310 --> 00:01:51,730 איך וועט רופן עס האַש, אָבער איר זאלט ​​אויך רופן עס פונט, נומער 42 00:01:51,730 --> 00:01:53,280 צייכן, אָדער שאַרף. 43 00:01:53,280 --> 00:01:56,840 קיין אַזאַ שורה איז אַ פּרעפּראָסעססאָר דירעקטיוו. 44 00:01:56,840 --> 00:02:00,650 איר ווע מיסטאָמע געזען # דעפינירן און # אַרייַננעמען פריער, אָבער עס 45 00:02:00,650 --> 00:02:03,690 זענען עטלעכע מער אַז די פּרעפּראָסעססאָר אנערקענט. 46 00:02:03,690 --> 00:02:07,340 זאל ס לייגן אַ # דעפינירן צו אונדזער העלא וועלט בייַשפּיל. 47 00:02:07,340 --> 00:02:11,690 איצט לאָזן ס לויפן נאָר די פּרעפּראָסעססאָר אויף דעם טעקע. 48 00:02:11,690 --> 00:02:16,150 דורך גייט פארביי קלאַגע דער-E פאָן, איר ניטאָ ינסטראַקטינג עס צו לויפן 49 00:02:16,150 --> 00:02:17,880 נאָר די פּרעפּראָסעססאָר. 50 00:02:17,880 --> 00:02:19,130 זאל ס זען וואָס כאַפּאַנז. 51 00:02:22,250 --> 00:02:24,020 עס קוקט ווי קלאַנג נאָר ספּיץ אויס אַלץ 52 00:02:24,020 --> 00:02:25,200 בייַ די באַפֿעל שורה. 53 00:02:25,200 --> 00:02:27,800 אין סדר צו ראַטעווען אַלע פון ​​דעם רעזולטאַט צו אַ נייַ טעקע גערופן 54 00:02:27,800 --> 00:02:33,850 העללאָ2.ק, מיר וועט צוגעבן> העללאָ2.ק צו אונדזער באַפֿעל. 55 00:02:33,850 --> 00:02:37,800 איצט לאָזן ס נעמען אַ קוק אין אונדזער פּרעפּראָסעססעד טעקע. 56 00:02:37,800 --> 00:02:40,810 >> וואָו, וואָס געטראפן צו אונדזער קליין ביסל פּראָגראַם? 57 00:02:40,810 --> 00:02:43,890 אויב מיר גיין אַלע די וועג צו די דנאָ פון דעם טעקע, מיר וועט זען 58 00:02:43,890 --> 00:02:46,070 עטלעכע פון ​​די קאָד וואָס מיר פאקטיש געשריבן. 59 00:02:46,070 --> 00:02:49,800 נאָטיץ אַז די # דעפינירן איז ניטאָ און אַלע ינסטאַנסיז פון נאָמען 60 00:02:49,800 --> 00:02:51,950 האָבן שוין ריפּלייסט מיט פּונקט וואָס מיר ספּעסאַפייד אין 61 00:02:51,950 --> 00:02:53,590 דער # דעפינירן שורה. 62 00:02:53,590 --> 00:02:56,530 אַזוי וואָס זענען אַלע די טיפּעדעפס און פונקציאָנירן דעקלעריישאַנז 63 00:02:56,530 --> 00:02:58,140 בייַ דער שפּיץ פון דער טעקע? 64 00:02:58,140 --> 00:03:00,820 נאָטיץ אַז די # דעפינירן איז נישט דער בלויז פּרעפּראָסעססאָר 65 00:03:00,820 --> 00:03:02,390 דירעקטיוו וואָס מיר ספּעסאַפייד. 66 00:03:02,390 --> 00:03:05,280 מיר אויך האָבן # אַרייַננעמען סטדיאָ.ה. 67 00:03:05,280 --> 00:03:09,560 אַזוי אַלע פון ​​די משוגע שורות זענען פאקטיש פּונקט סטדיאָ.ה קאַפּיד 68 00:03:09,560 --> 00:03:11,810 און פּייסטיד אין די שפּיץ פון דעם טעקע. 69 00:03:11,810 --> 00:03:14,110 אַז ס וואָס כעדער טעקעס זענען אַזוי נוציק פֿאַר פֿונקציע 70 00:03:14,110 --> 00:03:15,160 דעקלעריישאַנז. 71 00:03:15,160 --> 00:03:17,740 אַנשטאָט פון נידינג צו צייכענען און פּאַפּ אַלע פון ​​די פֿונקציע 72 00:03:17,740 --> 00:03:21,050 דעקלעריישאַנז איר פּלאַן אויף ניצן בייַ די שפּיץ פון דיין טעקע, די 73 00:03:21,050 --> 00:03:22,990 פּרעפּראָסעססאָר וועט קאָפּיע און פּאַפּ זיי פון די כעדער 74 00:03:22,990 --> 00:03:24,140 טעקע פֿאַר איר. 75 00:03:24,140 --> 00:03:26,480 >> איצט אַז מיר רע געטאן פּרעפּראָסעססינג, מיר מאַך אַנטו 76 00:03:26,480 --> 00:03:27,680 זאַמלונג. 77 00:03:27,680 --> 00:03:30,725 די סיבה מיר רופן דעם שריט זאַמלונג איז ווייַל דאָס איז 78 00:03:30,725 --> 00:03:34,130 די שריט ווו קלאַנג פאקטיש טוט זייַן קאַמפּיילינג פון C צו 79 00:03:34,130 --> 00:03:35,370 פֿאַרזאַמלונג קאָד. 80 00:03:35,370 --> 00:03:38,280 אין סדר צו האָבן קלאַנג צונויפנעמען אַ טעקע אַראָפּ צו פֿאַרזאַמלונג, אָבער 81 00:03:38,280 --> 00:03:42,030 פאָרזעצן קיין ווייַטער, פאָרן עס דער-ד פאָן 82 00:03:42,030 --> 00:03:43,560 בייַ די באַפֿעל שורה. 83 00:03:43,560 --> 00:03:44,790 זאל ס נעמען אַ קוק אין דער פֿאַרזאַמלונג 84 00:03:44,790 --> 00:03:47,390 טעקע וואָס איז געווען אָוטפּוטטעד. 85 00:03:47,390 --> 00:03:49,740 עס קוקט ווי גאַנץ אַ פאַרשידענע שפּראַך. 86 00:03:49,740 --> 00:03:52,660 פֿאַרזאַמלונג קאָד איז זייער פּראַסעסער ספּעציפיש. 87 00:03:52,660 --> 00:03:55,440 אין דעם פאַל, זינט די קס50 אַפּפּליאַנסע איז פליסנדיק אויף אַ 88 00:03:55,440 --> 00:04:00,470 ווירטואַל קס 86 פּראַסעסער, דאָס איז קס 86 פֿאַרזאַמלונג קאָד. 89 00:04:00,470 --> 00:04:03,450 זייער ווייניק מענטשן שרייַבן גלייַך אין פֿאַרזאַמלונג קאָד די טעג, 90 00:04:03,450 --> 00:04:06,490 אָבער יעדער C פּראָגראַם איר אלץ שרייַבן געץ פארוואנדלען אַראָפּ 91 00:04:06,490 --> 00:04:07,940 אין פֿאַרזאַמלונג. 92 00:04:07,940 --> 00:04:11,440 ווידער, מיר רופן דעם שריט קאַמפּיילינג די C אין פֿאַרזאַמלונג 93 00:04:11,440 --> 00:04:14,170 זינט מיר זענען געגאנגען פון אַ העכער גלייַך צו אַ נידעריקער מדרגה 94 00:04:14,170 --> 00:04:15,480 פּראָגראַממינג שפּראַך. 95 00:04:15,480 --> 00:04:17,880 >> וואָס מאכט פֿאַרזאַמלונג נידעריקער מדרגה ווי C? 96 00:04:17,880 --> 00:04:21,660 נו, אין פֿאַרזאַמלונג, מיר זענען זייער באגרענעצט אין וואָס מיר קענען טאָן. 97 00:04:21,660 --> 00:04:25,120 עס זענען נישט אויב ס, בשעת ס, פֿאַר ס, אָדער לופּס פון קיין מין. 98 00:04:25,120 --> 00:04:27,560 אבער איר קענען ויספירן די זעלבע זאכן וואָס די קאָנטראָל 99 00:04:27,560 --> 00:04:30,270 סטראַקטשערז פאָרשלאָגן ניצן די לימיטעד אַפּעריישאַנז אַז 100 00:04:30,270 --> 00:04:32,350 פֿאַרזאַמלונג טוט צושטעלן. 101 00:04:32,350 --> 00:04:35,960 אבער צו זען נאָר ווי נידעריק מדרגה פֿאַרזאַמלונג טאַקע איז, לאָזן ס גיין 102 00:04:35,960 --> 00:04:39,320 איין שריט ווייַטער אין אונדזער זאַמלונג, אַסעמבאַלינג. 103 00:04:39,320 --> 00:04:41,890 עס ס די אַסעמבלער ס אַרבעט צו יבערמאַכן די פֿאַרזאַמלונג קאָד 104 00:04:41,890 --> 00:04:44,740 אין כייפעץ אָדער מאַשין קאָד. 105 00:04:44,740 --> 00:04:47,610 געדענקען אַז די אַסעמבלער טוט נישט רעזולטאַט פֿאַרזאַמלונג; 106 00:04:47,610 --> 00:04:51,080 אלא, עס נעמט אין פֿאַרזאַמלונג און אַוטפּוץ מאַשין קאָד. 107 00:04:51,080 --> 00:04:54,040 מאַשין קאָד איז די פאַקטיש 1 ס און 0 ס אַז אַ קפּו קענען 108 00:04:54,040 --> 00:04:57,290 פֿאַרשטיין, כאָטש מיר נאָך האָבן אַ קליינטשיק ביסל פון אַרבעט לינקס 109 00:04:57,290 --> 00:04:59,380 איידער מיר קענען לויפן אונדזער פּראָגראַם. 110 00:04:59,380 --> 00:05:01,400 זאל ס אַסעמבאַל אונדזער פֿאַרזאַמלונג קאָד דורך גייט פארביי 111 00:05:01,400 --> 00:05:04,080 קלאַנג דער-C פאָן. 112 00:05:04,080 --> 00:05:06,410 איצט לאָזן ס זען וואָס ס אין די פארזאמלט טעקע. 113 00:05:06,410 --> 00:05:09,220 >> נו, וואָס טוט ניט העלפן אונדז זייער פיל. 114 00:05:09,220 --> 00:05:11,340 געדענקען אַז די מאַשין קאָד איז די אָנעס און זעראָס אַז 115 00:05:11,340 --> 00:05:13,240 דיין קאָמפּיוטער קענען פֿאַרשטיין. 116 00:05:13,240 --> 00:05:16,080 וואָס טוט נישט מיינען עס ס גרינג פֿאַר אונדז צו פֿאַרשטיין. 117 00:05:16,080 --> 00:05:19,160 אַזוי פּונקט ווי נידעריק מדרגה איז פֿאַרזאַמלונג? 118 00:05:19,160 --> 00:05:21,480 עס ס קימאַט יידעניקאַל צו כייפעץ קאָד. 119 00:05:21,480 --> 00:05:24,300 געגאנגען פון פֿאַרזאַמלונג צו כייפעץ קאָד איז פיל מער פון אַ 120 00:05:24,300 --> 00:05:27,540 איבערזעצונג ווי אַ טראַנספאָרמאַציע, וואָס איז וואָס 121 00:05:27,540 --> 00:05:29,310 איינער זאל נישט באַטראַכטן די אַסעמבלער צו 122 00:05:29,310 --> 00:05:31,400 טאָן קיין פאַקטיש קאַמפּיילינג. 123 00:05:31,400 --> 00:05:34,110 אין פאַקט, עס ס שיין גרינג צו מאַניואַלי איבערזעצן פון 124 00:05:34,110 --> 00:05:36,050 פֿאַרזאַמלונג צו מאַשין קאָד. 125 00:05:36,050 --> 00:05:39,040 קוקן בייַ דער פֿאַרזאַמלונג פֿאַר אַ הויפּט פֿונקציע, אַז ערשטער שורה 126 00:05:39,040 --> 00:05:42,100 כאַפּאַנז צו שטימען צו העקסאַדעסימאַל 0קס55. 127 00:05:42,100 --> 00:05:45,470 אין ביינערי, אַז ס 1,010,101. 128 00:05:45,470 --> 00:05:49,300 די רגע שורה כאַפּאַנז צו שטימען העקסאַדעסימאַל 0קס895. 129 00:05:49,300 --> 00:05:51,290 און די ווייַטער, 0קס56. 130 00:05:51,290 --> 00:05:53,730 געגעבן אַ לעפיערעך פּשוט טיש, איר געקענט איבערזעצן 131 00:05:53,730 --> 00:05:57,130 פֿאַרזאַמלונג אין דעם קאָד וואָס מאשינען קענען פֿאַרשטיין אויך. 132 00:05:57,130 --> 00:05:58,810 >> אַזוי דאָרט ס איינער רוען שריט אין 133 00:05:58,810 --> 00:06:01,150 זאַמלונג, וואָס איז פֿאַרבינדונג. 134 00:06:01,150 --> 00:06:04,530 פֿאַרבינדונג קאַמביינז אַ בינטל פון כייפעץ טעקעס אין איין גרויס טעקע 135 00:06:04,530 --> 00:06:06,380 אַז איר קענען פאקטיש ויספירן. 136 00:06:06,380 --> 00:06:08,570 פֿאַרבינדונג איז זייער סיסטעם אָפענגיק. 137 00:06:08,570 --> 00:06:11,030 אַזוי די יזיאַסט וועג צו באַקומען קלאַנג צו נאָר לינק כייפעץ 138 00:06:11,030 --> 00:06:13,920 טעקעס צוזאַמען איז צו רופן קלאַנג אויף אַלע פון ​​די טעקעס אַז 139 00:06:13,920 --> 00:06:15,190 איר ווילן צו לינק צוזאַמען. 140 00:06:15,190 --> 00:06:18,740 אויב איר ספּעציפיצירן. אָ טעקעס, דעמאָלט עס וועט נישט דאַרפֿן צו ריפּראָסעס, 141 00:06:18,740 --> 00:06:21,680 צונויפנעמען, און אַסעמבאַל אַלע פון ​​דיין מקור קאָד. 142 00:06:21,680 --> 00:06:23,960 זאל ס וואַרפן אַ מאַט פונקציאָנירן אין אונדזער טעקע, אַזוי מיר האָבן 143 00:06:23,960 --> 00:06:25,210 עפּעס צו לינק ין 144 00:06:34,220 --> 00:06:37,010 איצט לאָזן ס צונויפנעמען עס צוריק אַראָפּ צו כייפעץ קאָד און 145 00:06:37,010 --> 00:06:38,260 רופן קלאַנג אויף עס. 146 00:06:40,560 --> 00:06:41,420 אָאָפּס. 147 00:06:41,420 --> 00:06:43,790 זינט מיר אַרייַנגערעכנט אַ מאַט פונקציאָנירן, מיר דאַרפֿן צו לינק אין 148 00:06:43,790 --> 00:06:46,610 די מאַט ביבליאָטעק מיט-לם. 149 00:06:46,610 --> 00:06:48,990 >> אויב מיר געוואלט צו לינק צוזאַמען בינטל פון. אָ טעקעס אַז מיר 150 00:06:48,990 --> 00:06:51,420 געשריבן אויף אונדזער אייגן, מיר 'ד נאָר ספּעציפיצירן זיי אַלע אין די 151 00:06:51,420 --> 00:06:52,460 באַפֿעל שורה. 152 00:06:52,460 --> 00:06:55,320 די ריסטריקשאַן איז אַז בלויז איינער פון די טעקעס מוזן 153 00:06:55,320 --> 00:06:57,790 פאקטיש ספּעציפיצירן אַ הויפּט פֿונקציע, אָדער אַנדערש די 154 00:06:57,790 --> 00:06:59,930 ריזאַלטינג עקסעקוטאַבלע וואָלט ניט וויסן ווו צו אָנהייבן 155 00:06:59,930 --> 00:07:00,910 פליסנדיק דיין קאָד. 156 00:07:00,910 --> 00:07:03,360 וואָס ס די חילוק צווישן ספּעסאַפייינג אַ טעקע צו לינק אין 157 00:07:03,360 --> 00:07:06,600 מיט-ל און נאָר ספּעסאַפייינג אַ טעקע גלייַך? 158 00:07:06,600 --> 00:07:07,440 גאָרנישט. 159 00:07:07,440 --> 00:07:09,850 עס ס נאָר אַז קלאַנג כאַפּאַנז צו וויסן פּונקט וואָס טעקע 160 00:07:09,850 --> 00:07:12,560 עפּעס ווי-לם כאַפּאַנז צו אָפּשיקן צו. 161 00:07:12,560 --> 00:07:14,700 אויב איר געוואוסט אַז טעקע זיך, איר קען ספּעציפיצירן עס 162 00:07:14,700 --> 00:07:15,930 בפירוש. 163 00:07:15,930 --> 00:07:18,990 נאָר געדענקען אַז אַלע-ל פלאַגס האָבן צו קומען אין די סוף 164 00:07:18,990 --> 00:07:20,770 פון דיין קליענט פאָדערונג. 165 00:07:20,770 --> 00:07:22,300 >> און אַז ס אַלע דאָרט איז צו אים. 166 00:07:22,300 --> 00:07:24,940 ווען איר נאָר לויפן קלאַנג אויף עטלעכע טעקעס, דאָס איז וואָס עס ס 167 00:07:24,940 --> 00:07:26,350 פאקטיש טאן. 168 00:07:26,350 --> 00:07:29,490 מייַן נאָמען איז ראָב באָוודען, און דאָס איז קס50.