1 00:00:06,692 --> 00:00:09,470 [Powered by Google Translate] نیٹ HARDISON: پروگرامنگ میں، ایک لائبریری کا ایک مجموعہ ہے 2 00:00:09,470 --> 00:00:11,380 متعلقہ prewritten کوڈ. 3 00:00:11,380 --> 00:00:14,350 لائبریریاں ہیں اور کہ ہم کس طرح، کے طور پر پروگرامرز عام، حصہ، 4 00:00:14,350 --> 00:00:16,930 ایک دوسرے کے ساتھ مختلف پروگراموں کے ساتھ مددگار کوڈ، ہم 5 00:00:16,930 --> 00:00:19,470 لکھتے ہیں، اور یہاں تک کہ مختلف عمل میں چل رہا 6 00:00:19,470 --> 00:00:21,380 اپنے کمپیوٹر پر ایک ہی وقت ہو گیا ہے. 7 00:00:21,380 --> 00:00:23,000 >> کی تھوڑی کی ہے. 8 00:00:23,000 --> 00:00:25,070 زیادہ عام افعال ہیں جو آپ شاید ہے میں سے ایک 9 00:00:25,070 --> 00:00:27,500 کیا گیا ہے کا استعمال کرتے ہوئے printf تقریب ہے. 10 00:00:27,500 --> 00:00:29,820 اب، printf کچھ جادو تقریب ہو گیا ہے نہیں ہے 11 00:00:29,820 --> 00:00:31,670 کمپیوٹر میں مشکل کوڈت - 12 00:00:31,670 --> 00:00:34,320 بلکہ اس کے لئے C معیاری لائبریریوں کے حصہ، جو ہے 13 00:00:34,320 --> 00:00:36,080 کے افعال میں سے ایک مجموعہ ہے جو کے ساتھ آتا ہے 14 00:00:36,080 --> 00:00:38,050 C پروگرامنگ زبان ہے. 15 00:00:38,050 --> 00:00:40,920 چونکہ printf کمپیوٹر میں تعمیر نہیں ہے، اس کا مطلب یہ ہے کہ 16 00:00:40,920 --> 00:00:43,520 کچھ پروگرامر جو اصل میں میں چلا گیا تھا اور لکھا 17 00:00:43,520 --> 00:00:46,310 printf تقریب اور باقی معیار کے ساتھ بنڈل 18 00:00:46,310 --> 00:00:48,880 تاکہ مستقبل میں پروگرامرز کی ضرورت نہیں کریں گے لائبریریوں 19 00:00:48,880 --> 00:00:50,310 کوشش نقل. 20 00:00:50,310 --> 00:00:52,620 اور ہمیں یقین ہے کہ شکر گزار ہے کہ معاملہ ہے ہیں، کیونکہ چیک کرنے کے لیے 21 00:00:52,620 --> 00:00:54,710 یہ اصل میں کتنی کوڈ printf لاگو کرنے کے لئے لیتا ہے باہر. 22 00:00:59,590 --> 00:01:02,860 >> C معیاری لائبریریاں،، جن میں سے printf ایک حصہ ہے 23 00:01:02,860 --> 00:01:04,480 سب سے اہم ٹولز کا ایک آپ 24 00:01:04,480 --> 00:01:06,770 CS50 سے نمٹنے میں ہے. 25 00:01:06,770 --> 00:01:08,780 لائبریری کی ان پٹ کی پیداوار کے علاوہ میں جہاں 26 00:01:08,780 --> 00:01:11,370 printf زندگی، وہاں دوسرے لائبریریوں کے ایک گروپ ہے کہ 27 00:01:11,370 --> 00:01:14,230 میں آپ شاید CS50 کے دوران استعمال کریں گے. 28 00:01:14,230 --> 00:01:16,730 مثال کے طور پر، سٹرنگ لائبریری افعال ہے 29 00:01:16,730 --> 00:01:20,960 C ڈور کا موازنہ کریں، ان کی لمبائی حاصل کریں، اور ان کے سلسلہ بندی کرنا. 30 00:01:20,960 --> 00:01:22,410 اور ریاضی لائبریری تمہیں مددگار دیتا ہے 31 00:01:22,410 --> 00:01:25,062 PI اور ای کی طرح constants،. 32 00:01:25,062 --> 00:01:27,650 اب دوسری پروگرامنگ کی معیاری لائبریریوں کے مقابلے 33 00:01:27,650 --> 00:01:31,190 زبانوں، C معیاری لائبریریاں بہت چھوٹے ہیں، 34 00:01:31,190 --> 00:01:34,060 لیکن وہ اب بھی سامان کی ایک قابل ذکر رقم کی ہے. 35 00:01:34,060 --> 00:01:36,370 اور اس کا کہنا ہے کہ معیاری لائبریریاں ہیں نہیں ہے 36 00:01:36,370 --> 00:01:39,020 صرف C لائبریریوں، وہاں میں بہت سے وہاں ہیں 37 00:01:39,020 --> 00:01:42,460 دنیا کے لئے آپ CS50 لائبریری بھی شامل ہے، استعمال کرنے کے لئے 38 00:01:42,460 --> 00:01:45,150 خفیہ کاری اور ڈکرپشن کے ساتھ cartography لائبریریوں 39 00:01:45,150 --> 00:01:48,000 افعال افعال کے ساتھ، لائبریری ضابطہ کاری کریں اور 40 00:01:48,000 --> 00:01:50,970 ، اور اس ویڈیو کھیلتے ہیں. 41 00:01:50,970 --> 00:01:53,190 >> اس سے ہمیں ایک اہم ایک طرف لاتا ہے. 42 00:01:53,190 --> 00:01:55,500 انجینئرنگ کے ضروری مہارت کی ایک جاننے ہے 43 00:01:55,500 --> 00:01:58,090 اوزار آپ کے آلات میں دستیاب ہے تاکہ آپ اس کا استعمال کر سکتے ہیں 44 00:01:58,090 --> 00:01:59,850 ان کے اور جب تک وہیل reinventing سے بچنے 45 00:01:59,850 --> 00:02:01,510 آپ کو ایسا کرنے کے لئے ہے. 46 00:02:01,510 --> 00:02:04,120 پروگرامر کے طور پر، سب سے زیادہ اہم لائبریریوں ایک ہیں 47 00:02:04,120 --> 00:02:05,520 اوزار ہمارے پاس ہے. 48 00:02:05,520 --> 00:02:08,520 جب آپ کو تلاش ہے اپنے آپ کو ایک کام ہے کہ تکاؤ یا لگتا ہے کا سامنا 49 00:02:08,520 --> 00:02:11,940 عام، C سٹرنگ کی لمبائی کی تلاش کی طرح آپ 50 00:02:11,940 --> 00:02:14,020 اپنے آپ سے پوچھو اگر وہ کیس ہو سکتا ہے کہ 51 00:02:14,020 --> 00:02:16,520 کسی نے پہلے سے ہی ایک ہی کام کیا ہے اس سے پہلے. 52 00:02:16,520 --> 00:02:17,760 امکان ہے کہ ہے کہ آپ کو کچھ مل سکتا ہے 53 00:02:17,760 --> 00:02:20,110 ایک لائبریری کے اندر اندر میں مدد کرتے ہیں. 54 00:02:20,110 --> 00:02:23,260 >> تو تکنیکی لحاظ سے، ایک لائبریری ایک بائنری فائل ہے 55 00:02:23,260 --> 00:02:26,210 ایک ساتھ کا ایک مجموعہ منسلک کی طرف سے تیار کیا گیا ہے 56 00:02:26,210 --> 00:02:28,880 اعتراض ایک آلہ کو استعمال کرتے ہوئے فائلوں کو بلایا، آپ 57 00:02:28,880 --> 00:02:31,010 ، linker اندازہ لگایا ہے. 58 00:02:31,010 --> 00:02:33,830 آبجیکٹ فائلوں وہ اے فائلوں ہیں کہ آپ جب تم. 59 00:02:33,830 --> 00:02:35,860 C منبع کوڈ مرتب کریں. 60 00:02:35,860 --> 00:02:38,420 جب پروگرامرز لائبریریوں لکھتے ہیں، وہ عام طور پر 61 00:02:38,420 --> 00:02:41,560 فائلوں کی دو اقسام میں الگ اپنے C کوڈ: 62 00:02:41,560 --> 00:02:44,880 ہیڈر فائلوں اور عمل درآمد کی فائلوں ہیں. 63 00:02:44,880 --> 00:02:49,820 کنونشن کی طرف سے ایک ہیڈر فائل H فائل توسیع دی گئی ہے، 64 00:02:49,820 --> 00:02:51,940 اور یہ کوڈ لائبریری اعلان پر مشتمل ہے 65 00:02:51,940 --> 00:02:55,120 وسائل دستیاب ہے آپ کے لئے استعمال کرنے کے لئے ہیں. 66 00:02:55,120 --> 00:02:58,830 ان وسائل میں کام کرتا ہے، متغیر، structs شامل ہیں، 67 00:02:58,830 --> 00:03:01,980 قسم کی تعریف، اور، اور مل کر، وہ ہیں 68 00:03:01,980 --> 00:03:04,620 عام طور پر انٹرفیس کے طور پر کہا جاتا ہے. 69 00:03:04,620 --> 00:03:07,280 اصل میں، اگر تم نے کبھی سوچ ایک لائبریری میں کیا ہے رہے ہیں، 70 00:03:07,280 --> 00:03:09,580 ہیڈر فائلوں کو دیکھنا ہے. 71 00:03:09,580 --> 00:03:14,030 >> مثال کے طور پر، آپ usr ھیںچو / شامل / stdio.h اور چیک کرنے کے لیے 72 00:03:14,030 --> 00:03:16,210 سب کچھ تم نے کبھی کے بارے میں جاننا چاہتا تھا 73 00:03:16,210 --> 00:03:18,570 معیاری IO لائبریری. 74 00:03:18,570 --> 00:03:20,610 یہاں چیزیں بہت ہے، اور اس میں سے تھوڑا سا لگ سکتے ہیں 75 00:03:20,610 --> 00:03:22,420 کے ذریعے کوائف کا وقت ہے. 76 00:03:22,420 --> 00:03:25,840 تاہم، گوگل اور manpages کے ساتھ ساتھ، یہ ہے 77 00:03:25,840 --> 00:03:28,060 اگر تم سوچ رہے ہو جانے کی جگہ کس طرح معیار I / O 78 00:03:28,060 --> 00:03:30,460 لائبریری افعال کام کرتے ہیں. 79 00:03:30,460 --> 00:03:33,910 تو ایک اہم یہاں یہ بات اگرچہ ہے، کہ ہیڈر فائلوں 80 00:03:33,910 --> 00:03:36,740 خاص طور پر تقریب تعریفیں شامل نہیں ہے - 81 00:03:36,740 --> 00:03:40,020 یہ ہے کہ، اصل تقریب نفاذ. 82 00:03:40,020 --> 00:03:42,470 یہ ایک اہم کمپیوٹر سائنس کی ایک مثال ہے 83 00:03:42,470 --> 00:03:45,700 اصول معلومات چھپا قرار دیا، بھی کہا جاتا ہے 84 00:03:45,700 --> 00:03:48,960 encapsulation کے طور پر بار. 85 00:03:48,960 --> 00:03:52,630 >> لائبریری کی صارف یا کلائنٹ کے طور پر، آپ کی ضرورت نہیں ہے 86 00:03:52,630 --> 00:03:54,230 لائبریری میں internals کے بارے میں جاننا 87 00:03:54,230 --> 00:03:55,380 اس کو استعمال کرنے کا حکم. 88 00:03:55,380 --> 00:03:57,800 printf دیکھ پہلے صرف تھوڑا سا یاد رکھیں؟ 89 00:03:57,800 --> 00:04:00,275 کیا تم نے کبھی اصل کوڈ سے پہلے دیکھا ہے؟ 90 00:04:00,275 --> 00:04:02,535 ٹھیک ہے، مجھے لگتا ہے کہ آپ ان کے ساتھ نہیں ہے، اگرچہ آپ شاید 91 00:04:02,535 --> 00:04:05,090 بار printf ٹن استعمال کیا ہے. 92 00:04:05,090 --> 00:04:08,110 آپ کو پتہ تھا تقریب اعلان موجود تھے 93 00:04:08,110 --> 00:04:10,940 stdio.h ہیڈر فائل میں. 94 00:04:10,940 --> 00:04:14,010 ویسے بھی، اچھی معلومات چھپا کے فائدے کے یہ ہے کہ آپ 95 00:04:14,010 --> 00:04:16,820 اور پروگراموں کو آپ لکھ میں کسی قسم کی تبدیلی سے موصل رہے ہیں 96 00:04:16,820 --> 00:04:20,209 لائبریری کے افعال میں سے عمل کے کوڈ. 97 00:04:20,209 --> 00:04:22,880 اگر printf تبدیلیوں کا عمل، تمہارے پاس نہیں ہے 98 00:04:22,880 --> 00:04:26,310 اپنے پروگرام printf کا استعمال کرتے ہیں کے سب کو تبدیل کرنے کی. 99 00:04:26,310 --> 00:04:28,450 >> تو عملدرآمد کہاں جاتا ہے؟ 100 00:04:28,450 --> 00:04:31,020 ٹھیک ہے، پھر سے، کنونشن کی طرف سے، عمل میں جاتا ہے 101 00:04:31,020 --> 00:04:34,310 سی فائل توسیع کے ساتھ فائل. 102 00:04:34,310 --> 00:04:36,820 عام طور پر، ہیڈر کے فائلوں اور عمل درآمد کی فائلوں کو ہاتھ جانا 103 00:04:36,820 --> 00:04:39,380 ہاتھ میں، اگر ایسا ہے تو آپ نئی سٹرنگ کا ایک گروپ کا اعلان کر دیا ہے 104 00:04:39,380 --> 00:04:42,950 mystring.h میں کام کرتا ہے، تو آپ کے تمام کی وضاحت کریں گے 105 00:04:42,950 --> 00:04:46,960 mystring میں ان افعال ج. 106 00:04:46,960 --> 00:04:49,230 تو ہیڈر اور عمل کے فائلوں تو ہیں 107 00:04:49,230 --> 00:04:52,230 مرتب، اعتراض فائلوں کو منسلک ہوتے ہیں تو بنانے 108 00:04:52,230 --> 00:04:55,360 مل کر بائنری لائبریری فائل کو پیدا کرنے کے لئے. 109 00:04:55,360 --> 00:04:58,520 لائبریری مصنف بائنری فائل کے ساتھ تو جہاز 110 00:04:58,520 --> 00:05:00,720 ہیڈر فائلوں پروگرامرز جو استعمال کرنا چاہتے ہیں کے ساتھ 111 00:05:00,720 --> 00:05:02,280 لائبریری. 112 00:05:02,280 --> 00:05:04,640 اس مرحلے پر، سی لاگو کرنا. فائلیں نہیں ہیں 113 00:05:04,640 --> 00:05:07,840 کی ضرورت ہے، سوائے شروع سے لائبریری recompile، تو 114 00:05:07,840 --> 00:05:10,270 وہ اکثر چھوڑ رہے ہیں. 115 00:05:10,270 --> 00:05:13,670 >> C لائبریری کو استعمال کرنے کے لئے، آپ کو دو چیزوں کو کرنا پڑے گا. 116 00:05:13,670 --> 00:05:16,890 سب سے پہلے، آپ کو لائبریری کے ہیڈر فائلوں اور # شامل کرنا لازمی ہے 117 00:05:16,890 --> 00:05:18,700 منبع کوڈ فائل جہاں آپ استعمال کرنا چاہتے ہیں 118 00:05:18,700 --> 00:05:20,530 لائبریری کوڈ ہے. 119 00:05:20,530 --> 00:05:23,200 اس کے ڈیکلیریشنز میں سے سب سے سنکلک مطلع 120 00:05:23,200 --> 00:05:26,890 کام کرتا ہے، متغیر، structs، cetera ET، میں موجود 121 00:05:26,890 --> 00:05:30,510 ہیڈر فائلوں تاکہ سنکلک، ایک بیمہ سکتا ہے کہ 122 00:05:30,510 --> 00:05:33,280 آپ کو مناسب راہ میں لائبریری کے وسائل کا استعمال کرتے ہوئے کر رہے ہیں، 123 00:05:33,280 --> 00:05:37,120 اور دو، مناسب اسمبلی کوڈ پیدا. 124 00:05:37,120 --> 00:05:38,910 جہاں لائبریری کے ہیڈر فائلوں ہیں پر منحصر ہے 125 00:05:38,910 --> 00:05:42,720 # شامل نحوی واقع ہوتی ہے. 126 00:05:42,720 --> 00:05:44,880 اگر ہیڈر فائلوں کو نظام میں واقع ہیں 127 00:05:44,880 --> 00:05:46,690 پہلے سے طے شدہ ڈائریکٹری میں شامل ہیں - 128 00:05:46,690 --> 00:05:48,780 عام طور پر، usr/include-- 129 00:05:48,780 --> 00:05:52,200 تو زاویہ بریکٹ نحو کا استعمال کیا، # میں شامل ہیں 130 00:05:52,200 --> 00:05:53,450 . 131 00:05:57,440 --> 00:05:59,540 تاہم، اگر ہیڈر فائلوں کو اسی میں واقع ہیں 132 00:05:59,540 --> 00:06:02,960 ڈائریکٹری خود اپنے کوڈ کے طور پر، ڈبل اقتباس نحو ہے 133 00:06:02,960 --> 00:06:04,870 استعمال کیا جاتا ہے، کے طور پر میں # میں "mylib.h" شامل ہیں. 134 00:06:08,630 --> 00:06:11,220 >> دوسری بات ہے تمہیں کیا کرنا ہے بائنری میں منسلک ہے 135 00:06:11,220 --> 00:06:13,760 لائبریری فائل جب آپ اپنے کوڈ کو مرتب کریں. 136 00:06:13,760 --> 00:06:15,810 یہ ایک انتہائی اہم قدم ہے. 137 00:06:15,810 --> 00:06:17,540 کس طرح ہیڈر کے بارے میں ہمارے پہلے بحث کو یاد رکھیں 138 00:06:17,540 --> 00:06:20,200 فائلوں کو عمل درآمد کوڈ پر مشتمل نہیں ہے؟ 139 00:06:20,200 --> 00:06:22,200 اگر آپ اس قدم کو بھول جاتے ہیں، تو کیا آپ کے بارے میں غلطیوں کو ملے گی 140 00:06:22,200 --> 00:06:24,990 جانچ علامات کو اپنے کوڈ میں محولہ ہیں. 141 00:06:24,990 --> 00:06:29,580 اس کو حل کرنے کے لئے استعمال کرتے ہیں،-L پرچم کو فوری طور پر کے بعد 142 00:06:29,580 --> 00:06:32,320 لائبریری کے نام سے ایک جگہ کے بغیر. 143 00:06:32,320 --> 00:06:35,410 آلات، C معیاری سمیت کئی نظام، 144 00:06:35,410 --> 00:06:38,350 لائبریریاں کو خود کار طریقے سے آپ کے لئے اس مضمون سے رابطہ رکھتے ہیں. 145 00:06:38,350 --> 00:06:41,700 تاہم، ریاضی لائبریری کبھی کبھی علیحدہ بنڈل ہے 146 00:06:41,700 --> 00:06:44,600 اور ایل ایم کے ساتھ منسلک کیا جائے کی ضرورت ہو سکتی ہے. 147 00:06:44,600 --> 00:06:47,760 آلے پر، ہم آپ کے لئے اس کا خیال رکھنا، اور ہم بھی 148 00:06:47,760 --> 00:06:52,170 CS50 لائبریری lcs50 کے ساتھ منسلک کریں. 149 00:06:52,170 --> 00:06:54,540 آپ کو آلات جب آپ چلاتے بنانے پر یہ سب دیکھ سکتے ہیں. 150 00:06:57,620 --> 00:06:59,130 >> اب آپ کو علم آپ کو استعمال کرنے کی ضرورت ہونا چاہئے 151 00:06:59,130 --> 00:07:02,150 C. میں لائبریریوں کی مزہ ہے. 152 00:07:02,150 --> 00:07:05,880 میرا نام نیٹ Hardison ہے، اور اس CS50 ہے.