[Powered by Google Translate] NATE HARDISON: proqramlaşdırma, bir kitabxana toplusudur əlaqədar prewritten kodu. Kitabxanalar necə, kimi proqramçılar, səhm ümumi və müxtəlif proqramları ilə bir-biri ilə faydalı kodu, biz , yazmaq və hətta müxtəlif proseslər çalışan ilə bizim kompüter eyni zamanda. Nin bir az tədqiq edək. Yəqin etdik ki, daha ümumi funksiyalarından biri istifadə edən printf funksiyası var. İndi printf oldu ki, bəzi sehrli funksiyası deyil kompüter olan ağır kodlu - daha doğrusu, bu olan C Standard Kitabxanalar hissəsi var ilə gəlir ki, funksiyalarının toplusu C proqramlaşdırma dili. Printf kompüter daxil deyil ildən, o deməkdir ki, orada həqiqətən getdi bəzi proqramçı idi və yazdı printf funksiyası və standart qalan ilə paketlenmiş kitabxana gələcək proqramçılar var ki, belə səy dublikat. Yoxlamaq, çünki biz o halda ki, əmin şükür edirik faktiki printf həyata keçirilməsi nə qədər çox kodu out. Printf bir hissəsi olan C Standard Kitabxanalar, var ən mühüm vasitələrdən biri CS50 həlli var. Giriş-çıxış kitabxana əlavə yerləşir printf yaşayır, digər kitabxanaların bir qom var yəqin ki, CS50 ərzində istifadə edəcəyik. Məsələn, simli kitabxana funksiyaları vardır C strings müqayisə, onların uzunluğu almaq və onlara concatenate. Və riyaziyyat kitabxana sizə yardım verir pi və e kimi sabitləri. İndi, digər proqramlaşdırma standart kitabxana ilə müqayisədə Dil, C Standard Kitabxanalar, həqiqətən, kiçik lakin onlar hələ məhsullarının əhəmiyyətli miqdarda var. Və Standard kitabxanalar var ki, deyil yalnız C kitabxanalar; də orada daha çox var dünya sizə CS50 Kitabxana, o cümlədən istifadə üçün, şifrələmə və parol çözme ilə kartoqrafiya kitabxana kodlar və funksiyaları ilə funksiyaları, kitabxana video geri oynamaq, və s. Bu əhəmiyyətli bir kənara bizə gətirir. Engineering əsas bacarıqlarının biri biləndir tools sizin qutusu mövcud istifadə edə bilər ki, onlara və halda tam yeniləndirir qarşısını almaq Bunu etmək lazımdır. Proqramçılar kimi, kitabxanaların ən mühüm biridir biz alətlər. Tapmaq zaman özünüzü yorucu və ya görünür bir tapşırıq qarşı-qarşıya adi bir C simli uzunluğu tapmaq kimi, o halda ola bilər if özünüz xahiş etməlidir ki, kimsə artıq əvvəl eyni şeyi edir. Fırsatlarımız bəzi tapa bilər ki, bir kitabxana daxilində kömək edir. Belə ki, texniki baxımından bir kitabxana bir ikili fayl toplusu birlikdə birləşdirən tərəfindən istehsal olunub bir alət istifadə edərək, obyekt faylları adlı siz ki, Linker guessed. Obyekt faylları olur. O faylları zaman sizə almaq C mənbə kodu tərtib edir. Proqramçılar kitabxana yazmaq, onlar adətən faylları iki növ öz C kodunu ayırmaq: mövzu faylları və həyata faylları. Konvensiya tərəfindən header fayl,. H fayl uzantısı verilir və kitabxana bəyan edir ki, kodu daxil istifadə üçün mövcud olan resursları. Bu ehtiyatlar funksiyaları, dəyişənlər, structs daxildir tipli anlayışlar və s və birlikdə onlar ümumi interfeys adlandırılacaq. Əslində, əgər heç bir kitabxana var nə merak mövzu faylları axtarmaq üçün yer var. Məsələn, usr qoparmaq / daxil / stdio.h və kontrol edə bilərsiniz hər şeyi Əgər haqqında bilmək istəyirdilər standart io kitabxana. Burada ildə məhsullarının çox var, və bir az bilər taramak zorunda vaxt. Lakin, Google və manpages ilə yanaşı, bu ki, siz merak istəyirsinizsə getmək üçün yer necə standart I / O kitabxana funksiyaları işləməyəcək. Belə ki, burada qeyd etmək üçün bir əsas şey olsa da, mövzu faylları ki, adətən funksiyası anlayışlar daxil deyil - ki, faktiki funksiyası tətbiq edir. Bu əhəmiyyətli bir kompüter bir illüstrasiya edir prinsipi ilə istinad məlumat gizlətmək adlı encapsulation dəfə. Kitabxana istifadəçi və ya müştəri kimi, ehtiyac yoxdur ildə kitabxananın daxili bilirik istifadə etmək üçün. Yalnız bir az əvvəl printf görən saxla? Əgər əvvəl faktiki kodu görmüşdü? Bəli, Mən sizə güc olsa da, siz ki, güman dəfə printf ton istifadə. Bildiyiniz idi Bütün funksiyası bəyannamə olub bu stdio.h header fayl. Hər halda, yaxşı məlumat gizlətmək xeyrinə olduğunu və yazmaq proqramlar hər hansı dəyişikliklər izolə olunur kitabxana funksiyalarının həyata keçirilməsi kodu. Printf dəyişikliklərin həyata keçirilməsi, siz yoxdur getmək və printf istifadə proqramları bütün dəyişdirmək üçün. Belə ki, həyata yerləşir getmək edir? Bəli, yenə konvensiya tərəfindən icrası gedir edir. c fayl uzantısı ilə faylı. Adətən, mövzu faylları və həyata faylları əl getmək tərəfdən, belə ki, yeni simli bir dəstə elan olsanız mystring.h funksiyaları, sonra bütün müəyyən olacaq mystring həmin funksiyaları. c. Beləliklə mövzu və həyata faylları sonra sonra bağlı olan obyekt faylları yaratmaq, tərtib ikili kitabxana fayl istehsal birlikdə. Kitabxana yazıçı sonra ikili fayl boyunca yükləyəcək mövzu faylları istifadə etmək istəyən proqramçılar ilə kitabxana. Bu nöqtədə. C həyata faylları deyil ki, sıfırdan kitabxana derleyeceğiz istisna olmaqla, ehtiyac onlar tez-tez tərk edirik. C kitabxana istifadə etmək üçün iki şeyə var. Birincisi, # kitabxana mövzu faylları və daxil olmalıdır istifadə istediğiniz mənbə kodu fayl kitabxana kodu. Bu bəyannamə bütün compiler məlumat funksiyaları, dəyişənlər, structs, Et Cetera ki, mövcud mövzu faylları belə compiler bir sığortalaya bilər ki, Əgər lazımi şəkildə kitabxana resurslarının istifadə etdiyiniz və iki, müvafiq toplaşmaq kodu yaratmaq. Kitabxana mövzu faylları olduğu asılı olaraq yerləşən # daxildir sintaksis dəyişir. Mövzu faylları sisteminin yerləşir edin default qovluğu daxil - adətən, usr/include-- daxildir # kimi sonra bucaq mötərizədə sintaksis istifadə olunur . Lakin, mövzu faylları eyni yerləşir əgər directory öz kodu kimi, ikiqat quote sintaksis edir # "mylib.h" daxildir kimi istifadə olunur. Siz ikinci şey ikili keçid etmək Siz kodu tərtib zaman kitabxana faylı. Bu super mühüm addımdır. Mövzu haqqında bizim əvvəllər müzakirə saxla faylları həyata kodu daxil deyil? Bu addımı unutsanız, haqqında səhvlər almaq lazımdır undefined simvol kodunuzu müraciət. Bu həll etmək üçün,-l bayrağı dərhal sonra istifadə kitabxana adı ilə bir yer yoxdur. Aracın, C Standard daxil olmaqla bir çox sistemləri, On Kitabxanalar sizin üçün avtomatik olaraq bağlıdır. Lakin, riyaziyyat kitabxana bəzən ayrı-ayrı paketlenmiştir və-lm ilə bağlı lazım ola bilər. Aracın, biz sizin üçün bu qayğı və biz də -lcs50 ilə CS50 kitabxana keçid. Siz etmək çalıştırdığınızda Aracın bu bütün bilərsiniz. İndi siz istifadə lazımdır bilik olmalıdır C. kitabxana kəşfiyyat fun var. My name Nate Hardison və bu CS50 edir.