[Powered by Google Translate] Nate HARDISON: პროგრამირებაში, ბიბლიოთეკა კოლექცია დაკავშირებული prewritten კოდი. ბიბლიოთეკები როგორ ჩვენ, როგორც პროგრამისტები, საერთო და გამოსადეგი კოდი ერთმანეთთან, სხვადასხვა პროგრამების ჩვენ წერენ, და თუნდაც სხვადასხვა პროცესების გაშვებული ზე ამავე დროს ჩვენი კომპიუტერი. მოდით შეისწავლონ bit. ერთი ყველაზე გავრცელებული ფუნქციები რომ თქვენ ალბათ იყენებს არის printf ფუნქცია. ახლა, printf არ არის გარკვეული Magic ფუნქცია რომ უკვე მყარი კოდირებული ეგმ - უფრო მეტიც, ის ნაწილი C სტანდარტული ბიბლიოთეკა, რომლებიც კოლექცია ფუნქციების, რომ მოდის C პროგრამირების ენაზე. წლიდან printf არ არის ჩაშენებული კომპიუტერით, რაც იმას ნიშნავს, რომ გარკვეული პროგრამისტი ვინც რეალურად შევიდა და დაწერა printf ფუნქცია და შეფუთული იგი დანარჩენი სტანდარტული ბიბლიოთეკების ისე, რომ მომავალში პროგრამისტები არ უნდა დუბლიკატი ძალისხმევა. და ჩვენ დარწმუნებული მადლობელი, რომ ეს არის ის შემთხვევა, რადგან შეამოწმოთ გარეთ რამდენად კოდი ფაქტობრივად იღებს განახორციელოს printf. C სტანდარტული ბიბლიოთეკა, რომლის printf არის ნაწილი, რომლებიც ერთ ერთი ყველაზე მნიშვნელოვანი ინსტრუმენტები თქვენ აქვთ ბრძოლა CS50. გარდა შეყვანის-output ბიბლიოთეკა, სადაც printf სიცოცხლე, არის bunch სხვა ბიბლიოთეკების, რომ თქვენ ალბათ გამოიყენოთ მეტი კურსი CS50. მაგალითად, string ბიბლიოთეკის ფუნქციები შედარების C სიმები, მათი სიგრძე, და concatenate მათ. და მათემატიკის ბიბლიოთეკის გაძლევთ გამოსადეგი მუდმივები, როგორიცაა PI და ელ. ახლა შედარებით სტანდარტული ბიბლიოთეკების სხვა პროგრამირების ენებზე, C სტანდარტული ბიბლიოთეკა მართლაც მცირე, მაგრამ მაინც აქვს მნიშვნელოვანი თანხა პერსონალის. და რომ არ ვთქვა, რომ სტანდარტული ბიბლიოთეკები მხოლოდ C ბიბლიოთეკების ბევრია მეტი out იქ მსოფლიოს თქვენთვის გამოიყენოს, მათ შორის CS50 ბიბლიოთეკა, კარტოგრაფიის ბიბლიოთეკების დაშიფვრის და დეშიფრაციის ფუნქციები, ბიბლიოთეკების ფუნქციების encode და ითამაშოთ უკან ვიდეო, და ასე შემდეგ. ეს მივყავართ მნიშვნელოვან განზე. ერთერთი უნარების საინჟინრო არის იცის ინსტრუმენტები ხელმისაწვდომია თქვენს ყუთისთვის, ისე რომ თქვენ შეგიძლიათ გამოიყენოთ მათ და თავიდან ხელახლა იბრუნებს წამყვანი თუ არ თქვენ უნდა გააკეთოს ეს. როგორც პროგრამისტები, ბიბლიოთეკების ერთ ერთი ყველაზე მნიშვნელოვანი ინსტრუმენტები გვაქვს. როდესაც თქვენ აღმოჩნდეთ წინაშე დგას ამოცანა, რომ როგორც ჩანს რუტინული ან საყოველთაოდ ცნობილი, ისევე როგორც მოძიებაში სიგრძეზე C სიმებიანი, თქვენ უნდა ჰკითხეთ საკუთარ თავს თუ არ უნდა იყოს საქმე, რომ ვინმეს უკვე გაკეთდა იგივე ადრე. შანსი, რომ თქვენ შეიძლება გამოძებნოს დაეხმაროს ფარგლებში ბიბლიოთეკაში. ასე რომ ტექნიკური თვალსაზრისით, ბიბლიოთეკა ორობითი ფაილი, რომელიც უკვე მიერ წარმოებული აკავშირებს ერთად კოლექცია ობიექტის ფაილების ინსტრუმენტი მოუწოდა, თქვენ მიხვდა ის, linker. ობიექტის ფაილები არიან ისინი. O ფაილი, რომელიც თქვენ მიიღეთ, როდესაც თქვენ კომპილაციის C კოდის. როდესაც პროგრამისტები წერენ ბიბლიოთეკების, მათ, როგორც წესი, გამიჯვნას მათი C კოდი შევიდა ორი ტიპის თამაშები: header ფაილი და განხორციელების ფაილი. Header ფაილი მიერ კონვენციის ენიჭება. თ ფაილის გაფართოება, და იგი შეიცავს კოდი, რომელიც აცხადებს, ბიბლიოთეკის რესურსები, რომლებიც ხელმისაწვდომია გამოიყენოთ. ეს რესურსები მოიცავს ფუნქციების, ცვლადების, structs, ტიპის განმარტებები, და ასე შემდეგ, და ერთად, ისინი ხშირად მოიხსენიება როგორც ინტერფეისი. რეალურად, თუ თქვენ ოდესმე გაინტერესებთ რა ბიბლიოთეკა, header ფაილი ადგილი თვალი. მაგალითად, შეგიძლიათ დახევის up usr / include / stdio.h და შემოწმება ყველაფერი ოდესმე აინტერესებდათ შესახებ სტანდარტული io ბიბლიოთეკაში. არსებობს უამრავი პერსონალის აქ, და მას შეუძლია მიიღოს ცოტა დრო, რომ Wade მეშვეობით. თუმცა, ერთად Google და manpages, ეს წასასვლელი თუ თქვენ გაინტერესებთ, თუ როგორ სტანდარტი I / O ბიბლიოთეკის ფუნქციები მუშაობა. ასე რომ ერთი გასაღები რამ აღვნიშნო აქ, თუმცა, ის არის, რომ header ფაილი ტიპიურად არ შეიცავს ფუნქციას ცნებები - რომ არის, ფაქტობრივი ფუნქციის შესრულება. ეს არის ილუსტრაციაა მნიშვნელოვანია კომპიუტერულ მეცნიერებათა პრინციპი უწოდა ინფორმაციას მალვის, ასევე შეეხო ზე ჯერ როგორც encapsulation. როგორც მომხმარებლის ან კლიენტი ბიბლიოთეკა, თქვენ არ გჭირდებათ იცოდნენ შინაგანი of ბიბლიოთეკა რათა გამოიყენოს იგი. დამახსოვრება ხედავს printf უბრალოდ ცოტა წინ? ჰქონდა თუ არა ოდესმე მინახავს ფაქტობრივი კოდი წინაშე? ისე, მე ვივარაუდოთ, რომ თქვენ არა გაქვთ, მიუხედავად იმისა, რომ თქვენ შეიძლება არ გამოიყენება printf ტონა ჯერ. ყველა გქონდათ იცოდეს იყო ფუნქცია დეკლარაცია წინამდებარე წელს stdio.h header ფაილი. ყოველ შემთხვევაში, საკეთილდღეოდ კარგი ინფორმაცია მალვის არის, რომ თქვენ და პროგრამების წერთ არიან იზოლირებული ნებისმიერი ცვლილების კოდი განხორციელების ბიბლიოთეკის ფუნქციები. თუ განხორციელების printf ცვლილებები, თქვენ არ წასვლა და შეცვალოს ყველა თქვენს პროგრამები, რომ გამოიყენოთ printf. ისე სად ამჯამად განხორციელების წავიდეთ? ისე, ერთხელ, მიერ კონვენციის განხორციელების მიდის ფაილი. გ ფაილის გაფართოება. ჩვეულებრივ, header ფაილი და განხორციელების ფაილი წასვლა მხრივ ხელში ასე რომ, თუ თქვენ განაცხადა bunch ახალი სიმებიანი ფუნქციების mystring.h, მაშინ თქვენ განსაზღვროს ყველა იმ ფუნქციებს myString. გ. ასეა, მაშინ ზედა და განხორციელების ფაილი შემდეგ ხდება შედგენილი, შექმნა ობიექტი ფაილი, რომელიც შემდეგ ხდება უკავშირდება ერთად აწარმოოს ორობითი ბიბლიოთეკა ფაილი. ბიბლიოთეკა მწერალი მაშინ დაძრულიყო ორობითი ფაილი გასწვრივ ერთად header ფაილი პროგრამისტების, ვისაც სურს გამოიყენოს ბიბლიოთეკა. ამ ეტაპზე,. გ განხორციელების ფაილები არ არის საჭიროა, გარდა recompile ბიბლიოთეკა ნულიდან, ისე ისინი ხშირად დატოვეს. იმისათვის, რომ გამოიყენოთ C ბიბლიოთეკა, ამისათვის ორი რამ. პირველი, თქვენ უნდა შეიცავდეს # ბიბლიოთეკის header ფაილი და კოდის ფაილი, რომელშიც გსურთ გამოიყენოთ ბიბლიოთეკის კოდი. ეს გაცნობებთ შემდგენელი ყველა დეკლარაციები ფუნქციების, ცვლადების, structs, et cetera, იმყოფება header ფაილი ისე, რომ შემდგენელი შეუძლია ერთი, რათა თქვენ იყენებთ ბიბლიოთეკის რესურსების სწორი გზა, და ორი, გამოიმუშავებენ სათანადო ასამბლეის კოდი. დამოკიდებულია, სადაც ბიბლიოთეკის header ფაილი მდებარეობს, # include სინტაქსის მერყეობს. თუ header ფაილი მდებარეობს სისტემის რა შეიცავს დირექტორიაში - ჩვეულებრივ, usr/include-- მაშინ კუთხური ფრჩხილები სინტაქსი გამოიყენება, როგორც # include . თუმცა, თუ header ფაილი მდებარეობს იმავე დირექტორია, როგორც თქვენი საკუთარი კოდი, ორმაგი ციტირებით სინტაქსისიც გამოიყენება, როგორც # include "mylib.h". მეორე რაც თქვენ უნდა გააკეთოთ, რომ ბმულზე ორობითი ბიბლიოთეკა ფაილი როცა თქვენ კომპილაციის თქვენი კოდი. ეს არის სუპერ მნიშვნელოვანი ნაბიჯი. დამახსოვრება ჩვენი ადრე მსჯელობა იმაზე, თუ როგორ header ფაილი არ შეიცავს განხორციელების კოდი? თუ თქვენ დაგავიწყდებათ ეს ნაბიჯი, თქვენ მიიღებთ შეცდომები შესახებ გაურკვეველი სიმბოლოების მითითებული თქვენს კოდი. მოსაგვარებლად, გამოიყენოს-L დროშა მოჰყვა დაუყოვნებლივ გარეშე სივრცის სახელწოდება ბიბლიოთეკაში. ბევრ სისტემები, მათ შორის ელექტრო მოწყობილობების, C სტანდარტული ბიბლიოთეკები ავტომატურად უკავშირდება თქვენთვის. თუმცა, მათემატიკის ბიბლიოთეკა ზოგჯერ შეფუთული ცალკე და ალბათ საჭიროა იყოს დაკავშირებული-LM. On ელექტრო მოწყობილობების, ჩვენ ვიზრუნოთ თქვენთვის, და ჩვენ ასევე დაუკავშირონ CS50 ბიბლიოთეკა-lcs50. თქვენ შეგიძლიათ ნახოთ ყველა ამ თემაზე ელექტრო როდესაც თქვენ აწარმოებს მიიღოს. ახლა თქვენ უნდა ჰქონდეს ცოდნა თქვენ უნდა გამოვიყენოთ ბიბლიოთეკების C. გაერთეთ შესასწავლად. ჩემი სახელი არის Nate Hardison, და ეს არის CS50.