Ключевая разница - файл заголовка и файл библиотеки
В таких языках программирования, как C и C++, есть файлы заголовков и файлы библиотек. Эти языки хранят константы и прототипы функций в заголовочных файлах. Программист может написать заголовочный файл самостоятельно или они идут в комплекте с компилятором. Заголовочные файлы полезны, поскольку они делают программу более организованной и управляемой. Если все определенные функции находятся в одном файле, это усложняет программу. Поэтому программист может включить требуемый заголовочный файл при написании программы. Заголовочный файл состоит из объявлений функций. Эти объявления сообщают компилятору имя функции, тип возвращаемого значения и параметры. Файл библиотеки содержит реальную реализацию функции, объявленной в заголовочном файле. Библиотека C и библиотека C++ являются библиотечными файлами. Таким образом, ключевое различие между файлом заголовка и файлом библиотеки заключается в том, что файл заголовка содержит объявления функций, которые будут совместно использоваться несколькими исходными файлами, а файл библиотеки - это файл, который содержит определение функции для объявленных функций в файле заголовка.
Что такое заголовочный файл?
Заголовочный файл содержит объявления функций. Программист может написать заголовочный файл или он поставляется вместе с компилятором. Объявление сообщает компилятору об имени функции, типе возвращаемого значения и параметрах. В языке C заголовочные файлы имеют расширение.h. Файлы заголовков включаются в программу C с помощью директивы препроцессора. Синтаксис добавления заголовочного файла в C с помощью include. Если программист хочет включить математический заголовочный файл, он может написать инструкцию include.
Заголовочный файл содержит функции, определенные для ввода и вывода.fclose используется для закрытия потока. printf используется для отправки форматированного вывода на стандартный вывод. fscanf используется для чтения форматированного ввода из стандартного ввода. Заголовочный файл содержит функции, связанные с консолью. Getch используется для чтения символа из консоли. Заголовочный файл содержит функции, относящиеся к работе со строками. Strlen должен найти длину строки. Функция strcmp предназначена для сравнения двух строк.
Функции, необходимые для программирования графики, включены в заголовочный файл. Заголовочный файл содержит операции, связанные с математикой. Ранд используется для создания случайного числа. Функция pow используется для нахождения степени числа. Некоторые другие математические функции: sin, cos, tan, sqrt. Эти функции уже объявлены в заголовочных файлах.
Включение файлов заголовков в C++ также похоже на C. Это также использует директивы препроцессора. Синтаксис добавления заголовочного файла в C++ - include. Если программист хочет включить заголовочный файл iostream, это делается с помощью include. Это стандартная библиотека потоков ввода-вывода. cin - это стандартный поток ввода. cout предназначен для стандартного потока вывода.
Рисунок 01: Программа на C, использующая заголовочные файлы math.h и stdio.h
Включение файла заголовка аналогично копированию и вставке содержимого файла заголовка. Это может вызвать ошибки и может быть сложным процессом, если исходных файлов много. Точно так же заголовочные файлы могут быть включены в программы.
Что такое библиотечный файл?
Файл библиотеки будет иметь определения функций для объявленных функций в заголовочном файле. Определения функций являются фактической реализацией функции. Программист использует в программе функции, объявленные в заголовочных файлах. Не обязательно выполнять их с самого начала. При компиляции программы компилятор находит определения в библиотечном файле для объявленных функций в заголовочном файле.
Несмотря на то, что заголовочные файлы включаются в программу программистом, соответствующие библиотечные файлы компилятор находит автоматически. Поэтому компилятор использует файлы библиотек для поиска реальных реализаций объявленных функций в заголовочных файлах. Если в программе используется функция printf(), определение того, как она работает, находится в соответствующем библиотечном файле. Если math.h является файлом заголовка, math.lib является файлом библиотеки.
В чем сходство между файлом заголовка и файлом библиотеки?
Оба они используются в языке C/C++
В чем разница между файлом заголовка и файлом библиотеки?
Файл заголовка и файл библиотеки |
|
Заголовочный файл - это файл, содержащий объявления функций, которые должны быть разделены между несколькими исходными файлами. | Библиотечный файл - это файл, содержащий определение функций, объявленных в заголовочном файле. |
Формат | |
Заголовочный файл имеет текстовый формат. | Файл библиотеки имеет двоичный формат. |
Включая метод | |
Программист включает заголовочные файлы. | Компилятор автоматически связывает соответствующие библиотечные файлы с программой. |
Модификация | |
Заголовочный файл можно изменить. | Файл библиотеки не может быть изменен. |
Резюме – Заголовочный файл и библиотечный файл
Заголовочный файл и файл библиотеки связаны с такими языками программирования, как C и C++. В этой статье обсуждается разница между файлом заголовка и файлом библиотеки. Разница между файлом заголовка и файлом библиотеки заключается в том, что файл заголовка содержит объявления функций, которые будут совместно использоваться несколькими исходными файлами, а файл библиотеки - это файл, который содержит определение функции для объявленных функций в файле заголовка. Заголовочные файлы содержат прототипы и вызовы функций. Он не включает функциональные возможности функций. Заголовочный файл - это шлюз к библиотечному файлу, содержащему реальную функциональность.
Загрузить PDF-версию файла заголовка и файла библиотеки
Вы можете загрузить PDF-версию этой статьи и использовать ее в автономном режиме в соответствии с примечанием к цитированию. Загрузите PDF-версию здесь: Разница между файлом заголовка и файлом библиотеки