[Powered by Google Translate] NATE Хардісон: У програмуванні, бібліотека являє собою набір
пов'язаних Стандартна код.
Бібліотеки, як ми, програмісти, загальні та
Код корисними один з одним, з різними програмами ми
писати, і навіть з різними процесами, запущеними на
Водночас на наших комп'ютерах.
>> Давайте розглянемо трохи.
Один з найбільш поширених функцій, які ви, ймовірно,
використовує це Е функція.
Тепер, Printf це не якась магічна функція, яка була
жорстко запрограмоване в комп'ютері -
скоріше, це частина стандартної бібліотеки C, які є
набір функцій, який поставляється з
C мову програмування.
З Printf не вбудований в комп'ютер, це означає, що
було деякий програміста, який насправді пішов і написав
Е функція і в комплекті з рештою стандартної
Бібліотеки так, щоб майбутні програмісти не доведеться
дублювання зусиль.
І ми впевнені, що вдячна, що це так, тому що перевірити
, Скільки коду насправді потрібно для здійснення Printf.
>> C стандартні бібліотеки, які Printf є частиною є
одним з найважливіших інструментів
Тобто у вирішенні CS50.
На додаток до введення-виведення бібліотеки, де
Printf життя, є купа інших бібліотек, які
Ви, ймовірно, використовувати протягом CS50.
Наприклад, рядок бібліотека функцій
C порівняти рядки, щоб їх довжина, і об'єднати їх.
І математичні бібліотеки дає Вам корисними
константи, як пі і е.
Тепер, у порівнянні зі стандартними бібліотеками інших програм
мови, C стандартні бібліотеки дуже невеликий,
але вони все ще мають значну кількість матеріалу.
І це не означає, що стандартні бібліотеки
Тільки C бібліотеки, є ще багато там, в
світ для вас використовувати, в тому числі CS50 бібліотеки,
картографії бібліотеки шифрування і дешифрування
Функції, бібліотек з функціями для кодування і
відтворення відео, і так далі.
>> Це підводить нас до важливої ​​стороні.
Одним з найважливіших навичок інженерно знаючи,
інструментів, доступних у вашій панелі інструментів, так що ви можете використовувати
їх і не винаходити колесо, якщо
Ви повинні зробити це.
Як програмісти, бібліотеки є одним з найбільш важливих
інструменти у нас є.
Коли ви опинитеся перед завданням, яке здається втомливим або
звичайною справою, як знайти довжину рядка C, ви
Слід запитати себе, якщо він може бути так, що
хтось вже зробив те ж саме раніше.
Швидше за все, що ви могли б знайти деякі
допомога в бібліотеці.
>> Таким чином, з технічної точки зору, бібліотека являє собою бінарний файл, що
була проведена шляхом зв'язування разом колекція
Об'єкт файлів за допомогою інструменту під назвою, ви
здогадалися, компонувальник.
Об'єкт файли тих. Висновку файлів, які ви отримуєте, коли ви
компіляції C вихідний код.
Коли програмісти пишуть бібліотеки, вони зазвичай
відокремити їх C код у файли двох типів:
заголовні файли та файли реалізації.
Заголовка файлу відповідно до угоди з урахуванням. Ч розширення файлу,
і містить код, який оголошує бібліотеки
ресурсів, які доступні для вас використовувати.
Ці ресурси включають в себе функції, змінні, структури,
визначення типу, і так далі, і разом вони
зазвичай називають інтерфейс.
У самому справі, якщо ви коли-небудь цікаво, що в бібліотеці,
файли заголовків є місцем для пошуку.
>> Наприклад, ви можете підтягти USR / вмикати / stdio.h і перевірити
все, що ви коли-небудь хотіли знати про
Стандартна бібліотека вводу-виводу.
Там дуже багато речей тут, і це може зайняти трохи
часу, щоб пробратися через.
Однак, поряд з Google і сторінки довідки, це
місце, щоб піти, якщо вам цікаво, як стандартний I / O
бібліотечні функції працюють.
Так що ключова річ, щоб відзначити тут, однак, є те, що файли заголовків
як правило, не включають функцію визначення -
тобто, фактична реалізація функції.
Це ілюстрація з важливих комп'ютерних наук
Принцип називається приховування інформації, також згадується в
раз інкапсуляції.
>> Як користувач або клієнт бібліотеки, ви не повинні
знати про внутрішній бібліотеки в
Для того щоб використовувати його.
Пам'ятайте, бачачи Printf трохи назад?
Якби ви коли-небудь бачили реальний код раніше?
Ну, я припускаю, що у вас немає, хоча ви, можливо,
використовували Printf тонн рази.
Все, що ви повинні були знати була дана заява функції
В заголовку файлу stdio.h.
У всякому разі, на користь гарного приховування інформації є те, що
і програм, які ви пишіть ізольовані від будь-яких змін в
Код реалізації бібліотечних функцій.
Якщо реалізація Printf зміни, вам не доведеться
піти і змінити всі ваші програми, які використовують Printf.
>> Так де ж реалізація йти?
Ну, знову ж таки, за угодою, реалізація йде в
Файл з розширенням. Файл с.
Як правило, файли заголовків та файли реалізації йдуть рука
в руці, так що якщо ви оголосили кілька нових рядків
функції в mystring.h, то ви будете визначати всі
ці функції в MyString. с.
Таким чином, то заголовок і реалізація файли, то
складений, створення об'єктних файлів, які потім зв'язуються
разом для створення виконуваного файлу бібліотеки.
У бібліотеці письменника буде вантажити двійковий файл разом
з заголовка файлу для програмістів, які хочуть використовувати
бібліотеки.
На даний момент,. Файли з реалізації, не є
необхідно, крім перекомпілювати бібліотеку з нуля, тому
вони часто залишаються.
>> Для використання бібліотеки C, що вам потрібно зробити дві речі.
По-перше, ви повинні # включити заголовок бібліотеки файлів і
вихідний код файлу, в якому ви хочете використовувати
бібліотеки коду.
Про це повідомляє компілятору всіх декларацій
функції, змінні, структури, і так далі, присутніх в
заголовні файли так, щоб компілятор можна, переконатися, що
Ви використовуєте ресурси бібліотеки в належному порядку,
і, по-друге, генерувати відповідний код збірки.
В залежності від того, де заголовок бібліотеки файлів
розташовані, # включити синтаксис розрізняється.
Якщо заголовок файлу знаходяться в системі
за замовчуванням включає каталог -
Як правило, usr/include--
то кут синтаксису дужки використовуються, як в # включити
.
Тим не менше, якщо заголовок файлу знаходяться в тому ж
Каталог як свій власний код, подвійний синтаксису цитата
використовувати, як в # включити "mylib.h".
>> Друге, що вам потрібно зробити, це перейти за посиланням у двійковому
Файл бібліотеки при компіляції коду.
Це супер важливий крок.
Пам'ятайте, наших попередніх дискусій про те, заголовок
файли не містять коду реалізації?
Якщо ви забули цей крок, ви отримаєте помилки, про
невизначені символи, вказані в коді.
Щоб вирішити цю проблему, використовуйте прапор-L послідувала негайно
без пробілу по імені бібліотеки.
На багатьох системах, в тому числі прилад, C Standard
Бібліотеки будуть автоматично пов'язані для вас.
Тим не менш, математичні бібліотеки іноді в комплекті окремо
і, можливо, повинні бути ув'язані з-лм.
З приладом, ми подбаємо про це за вас, і ми також
посилання CS50-бібліотеку з lcs50.
Ви можете подивитися все це на прилад, коли ви запускаєте зробити.
>> Тепер ви повинні мати знання, необхідні для використання
бібліотеки в С. Удачі вивчення.
Мене звати Нейт Хардісон, і це CS50.