[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.