Программное обеспечение

Обьясните простым языком, что такое библиотека(программное обеспечение) и зачем она нужна

Леонид Денчук
Леонид Денчук
2 009
Простым - трудно но попробую. Вот ты устанавливаешь программу, она написанна на одном из языков программирования. Библиотеки - тоже. Могут быть на разных языках написанны. Когда ты запускаешь программу, она может использовать свои функции, а может функции из библиотеки.
Возьмём к примеру любую игру. Ты запускаешь её. Перед тем, как что-то выполнить она посылает запрос в библиотеку виндовса для создания окна или развёртки во весь экран, потом загружает файлы с помощью другой библиотеки, рисует картинку на экране с помощью DirectX. В общем библиотека - это кусок программы, часть кода, который можно применить в своей программе. Если библиотеки нет, то программа выдаст ошибку или не запустится.

А теперь скажу так, как надо было.
Библиотека - исполняемый файл, содержащий определения (референсы) функций, объявленных в хэдере (или во врапере) (файл содержащий способы обращения к функции) . Во время компиляции происходит линковка - вставка определений в начало или (если инлайновые) туда, где вызывается функция. Когда запускаешь программу она входит в главную функцию и резервирует себе адрес в стэке. После этого она пытается работать. Если используются простые функции (написанные или статически слинкованные) , то она вызывает их из своего исполнительного файла. Если функция не имеет определения внутри этого исполняемого файла, программа вызывает библиотеку, на которую указывает врапер и пытается вызвать функцию. Если функция есть, в стэке выделяется адрес (ещё один, так на каждую функцию, кроме инлайновых) возврата и затем вызывается функция. После её завершения в адрес ячейки кладётся результат, стэк сокращается и программа продолжает работать. Если функции нет, то программа вываливается с ошибкой или, что хуже, продолжает криво работать (ламеры радуются, что прошло, а потом спрашивают откуда синий экран) . Как то так.
Otdel Zanyatosti
Otdel Zanyatosti
9 740
Лучший ответ
Компьютер без программ можно сравнить с автомобилем без водителя.
Тут простым языком не объяснить. . Библиотека может быть набором функций. (которые нужны для работы другим программам. . либо. . непосредственно библиотекой (с иконками.. . языковыми наборами. . и т. д.)