[Powered by Google Translate] Нейт HARDISON: В програмирането, библиотека е колекция от
свързани с написана код.
Библиотеките са как ние, като програмисти, споделят общи и
полезна код с всяка друга, с различни програми
пиша, и дори с различни процеси в
същото време на нашите компютри.
>> Нека да разгледаме малко.
Един от най-често срещаните функции, които вероятно сте
Използвам е ФОРМАТ функция.
Сега, ФОРМАТ не е някаква магическа функция, която е била
е кодиран хардуерно в компютъра -
по-скоро, това е част от C Стандарт библиотеки, които са
колекция от функции, който идва с
C език за програмиране.
От ФОРМАТ не е изградена в компютъра, това означава, че
имаше някакъв програмист, който всъщност отидох в и пише
ФОРМАТ функция и тя пакет с останалата част от стандарта
библиотеки, така че бъдещите програмисти не би трябвало да
дублират усилията.
И сме сигурни, благодарни, че това е така, защото проверите
, колко код всъщност необходимо, за да изпълни ФОРМАТ.
>> С стандартните библиотеки, от които ФОРМАТ е част, са
един от най-важните инструменти ви
има в борбата с CS50.
В допълнение към входно-изходна библиотека, където
ФОРМАТ живот, има един куп други библиотеки, които
най-вероятно ще се използва в течение на CS50.
Например, низ Библиотеката разполага с функции за
сравни С стринг, тяхната дължина, и ги свързвам.
По математика библиотеката ви дава полезни
константи, като пи и д.
Сега, в сравнение със стандартните библиотеки на други програми
езици, C Стандарт библиотеки са наистина малки,
но те все още имат значителна сума неща.
И това не е да се каже, че стандартните библиотеки са
само C библиотеки, има много повече там, в
света, за да използвате, включително CS50 библиотека,
картография библиотеки с криптиране и декриптиране
функции, библиотеки с функции за кодиране и
възпроизвеждане на видео, и така нататък.
>> Това ни довежда до важен настрана.
Един от най-важните умения на техниката е да се знае
инструменти, с които разполага в инструментариум, така че можете да използвате
тях и да се избегне да преоткрива колелото, освен ако
което трябва да направите така.
Като програмисти, библиотеките са едни от най-важните
инструменти, с които разполагаме.
Когато откриете себе си изправени пред задача, която изглежда досаден или
често срещано, като намирането на дължината на низа,
трябва да си зададете, ако тя може да бъде случаят, че
някой вече е направил същото нещо преди.
Шансовете са, че можете да намерите някои
помощ в рамките на библиотеката.
>> Така че от техническа гледна точка, библиотека е двоичен файл, който
е бил произведен като се свържат заедно събиране на
обектни файлове с помощта на инструмент, наречен,
предполагам, че това, свързващата програма.
Обектни файлове са тези, О файлове, които ще получите, когато
съставят C изходния код.
Когато програмистите пишат библиотеки, те обикновено
разделят C код на два вида файлове:
хедър файлове и файлове за изпълнение.
Заглавния файл от Конвенцията е дадено файлово разширение. Ч,
и съдържа код, който обявява на библиотеката
ресурси, които са на разположение, за да използвате.
Тези ресурси включват функции, променливи, structs,
тип определения, и така нататък, и заедно, те са
обикновено се нарича като интерфейс.
В действителност, ако сте някога се чудех какво има в библиотеката,
заглавните файлове са на място да се търси.
>> Например, можете да дръпнете ЮЕсАр / включват / stdio.h и проверете
всичко, което някога сте искали да знаете за
стандартната библиотека Йо.
Има много неща тук, и това може да отнеме малко
време да бродят из.
Въпреки това, заедно с Google и manpages, това е
място да отида, ако се чудите как стандартното I / O
библиотечни функции работят.
Така че един ключ да отбележим още нещо, обаче, е, че заглавните файлове
обикновено не включват дефинициите на функциите -
което означава, че реалните внедрявания функция.
Това е илюстрация на важен компютърни науки
принципът, наречен крие информация, посочен в
пъти по-капсулиране.
>> Като потребител или клиент на библиотека, вие не трябва да
знаят за вътрешността на библиотеката в
, за да го използвате.
Не забравяйте, ФОРМАТ виждат само за малко преди?
Ако сте виждали действителният код преди?
Е, предполагам, че не сте, макар че може
да използва ФОРМАТ тона пъти.
Всичко, което трябва да знаете е настоящето декларацията на функцията
в stdio.h заглавен файл.
Както и да е, в полза на добра информация скривалището е, че
и програми, които пишат са изолирани от всякакви промени в
код на изпълнение на библиотечните функции.
Ако изпълнението на ФОРМАТ промени, не е нужно
да отида и да се променят всички програми, които използват ФОРМАТ.
>> Така че, когато изпълнението отидете?
Е, пак по силата на споразумение, прилагането отива в
файл с файл в разширение.
Обикновено хедър файлове и файлове за изпълнение вървят ръка
в ръка, така че ако сте обявен за куп нов низ
функции в mystring.h, тогава вие ще определите всички
тези функции в mystring.
Тогава Горен и изпълнението файлове са
събират, създаването на обектни файлове, които след това са свързани
заедно, за да библиотека двоичен файл.
Писател библиотека ще достави двоичен файл заедно
с хедър файлове към програмисти, които искат да използват
библиотеката.
В този момент, в изпълнение файлове не са
е необходимо, освен да прекомпилирате библиотеката от нулата, така че
те често остават извън.
>> За да използвате C библиотеката, което трябва да направите две неща.
Първо, трябва да # включват заглавни файлове на библиотеката и
код на файла, където искате да използвате
код на библиотеката.
Това информира съставител на всички декларации за
функции, променливи, structs, и т.н., присъстващи в
заглавните файлове, така че компилаторът може, са сигурни, че
използване на ресурсите на библиотеката по подходящ начин,
и второ, генерира съответния код събрание.
В зависимост от това къде на библиотеката заглавните файлове са
намира, # включват синтаксис варира.
Ако заглавните файлове се намират в системата
подразбиране директория -
обикновено usr/include--
ъгъла синтаксис скоби се използва, като в # включват
.
Въпреки това, ако заглавните файлове се намират в една и съща
директория за своя код, двойно синтаксис цитат е
, както и в # включват "mylib.h".
>> Второто нещо, което трябва да направите, е да се свържат в двоичен
библиотека файл, когато компилирате кода си.
Това е супер важна стъпка.
Не забравяйте, по-рано дискусия за това как заглавието
файловете не съдържат код изпълнение?
Ако сте пропуснали тази стъпка, вие ще получите грешки
недефинирани символите, посочен в кода си.
За да се разреши този проблем, използвайте-л знаме, последван незабавно
без интервал от името на библиотеката.
На много системи, включително и на уреда, C Стандарт
Библиотеки са свързани автоматично за вас.
Въпреки това, понякога пакет отделно по математика библиотека
и може да се наложи да бъдат обвързани с-LM.
На уреда, ние се погрижа за това за вас, и ние също
свърже CS50 библиотека с lcs50.
Можете да видите всичко това на уреда, когато стартирате.
>> Сега трябва да имате знания трябва да се използват
библиотеки в C. Забавлявайте проучване.
Моето име е Нейт Hardison, и това е CS50.