1 00:00:06,692 --> 00:00:09,470 [Powered by Google Translate] Nate 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 >> მოდით შეისწავლონ bit. 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 არ არის გარკვეული Magic ფუნქცია რომ უკვე 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 გარდა შეყვანის-output ბიბლიოთეკა, სადაც 26 00:01:08,780 --> 00:01:11,370 printf სიცოცხლე, არის bunch სხვა ბიბლიოთეკების, რომ 27 00:01:11,370 --> 00:01:14,230 თქვენ ალბათ გამოიყენოთ მეტი კურსი CS50. 28 00:01:14,230 --> 00:01:16,730 მაგალითად, string ბიბლიოთეკის ფუნქციები 29 00:01:16,730 --> 00:01:20,960 შედარების C სიმები, მათი სიგრძე, და concatenate მათ. 30 00:01:20,960 --> 00:01:22,410 და მათემატიკის ბიბლიოთეკის გაძლევთ გამოსადეგი 31 00:01:22,410 --> 00:01:25,062 მუდმივები, როგორიცაა PI და ელ. 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 ბიბლიოთეკების ბევრია მეტი out იქ 37 00:01:39,020 --> 00:01:42,460 მსოფლიოს თქვენთვის გამოიყენოს, მათ შორის CS50 ბიბლიოთეკა, 38 00:01:42,460 --> 00:01:45,150 კარტოგრაფიის ბიბლიოთეკების დაშიფვრის და დეშიფრაციის 39 00:01:45,150 --> 00:01:48,000 ფუნქციები, ბიბლიოთეკების ფუნქციების encode და 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 მათ და თავიდან ხელახლა იბრუნებს წამყვანი თუ არ 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 ობიექტის ფაილები არიან ისინი. O ფაილი, რომელიც თქვენ მიიღეთ, როდესაც თქვენ 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 header ფაილი და განხორციელების ფაილი. 63 00:02:44,880 --> 00:02:49,820 Header ფაილი მიერ კონვენციის ენიჭება. თ ფაილის გაფართოება, 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 header ფაილი ადგილი თვალი. 71 00:03:09,580 --> 00:03:14,030 >> მაგალითად, შეგიძლიათ დახევის up usr / include / 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 დრო, რომ Wade მეშვეობით. 76 00:03:22,420 --> 00:03:25,840 თუმცა, ერთად Google და 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 ასე რომ ერთი გასაღები რამ აღვნიშნო აქ, თუმცა, ის არის, რომ header ფაილი 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 იცოდნენ შინაგანი of ბიბლიოთეკა 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 header ფაილი. 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 ჩვეულებრივ, header ფაილი და განხორციელების ფაილი წასვლა მხრივ 103 00:04:36,820 --> 00:04:39,380 ხელში ასე რომ, თუ თქვენ განაცხადა bunch ახალი სიმებიანი 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 ერთად header ფაილი პროგრამისტების, ვისაც სურს გამოიყენოს 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 პირველი, თქვენ უნდა შეიცავდეს # ბიბლიოთეკის header ფაილი და 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, et cetera, იმყოფება 121 00:05:26,890 --> 00:05:30,510 header ფაილი ისე, რომ შემდგენელი შეუძლია ერთი, რათა 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 დამოკიდებულია, სადაც ბიბლიოთეკის header ფაილი 125 00:05:38,910 --> 00:05:42,720 მდებარეობს, # include სინტაქსის მერყეობს. 126 00:05:42,720 --> 00:05:44,880 თუ header ფაილი მდებარეობს სისტემის 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 მაშინ კუთხური ფრჩხილები სინტაქსი გამოიყენება, როგორც # include 130 00:05:52,200 --> 00:05:53,450 . 131 00:05:57,440 --> 00:05:59,540 თუმცა, თუ header ფაილი მდებარეობს იმავე 132 00:05:59,540 --> 00:06:02,960 დირექტორია, როგორც თქვენი საკუთარი კოდი, ორმაგი ციტირებით სინტაქსისიც 133 00:06:02,960 --> 00:06:04,870 გამოიყენება, როგორც # include "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 დამახსოვრება ჩვენი ადრე მსჯელობა იმაზე, თუ როგორ header 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 და ალბათ საჭიროა იყოს დაკავშირებული-LM. 147 00:06:44,600 --> 00:06:47,760 On ელექტრო მოწყობილობების, ჩვენ ვიზრუნოთ თქვენთვის, და ჩვენ ასევე 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 ჩემი სახელი არის Nate Hardison, და ეს არის CS50.