Вторник, 26.11.2024
Мой сайт
Меню сайта
Статистика

Онлайн всего: 19
Гостей: 19
Пользователей: 0
Главная » 2022 » Январь » 25 » Библиотеки программных текстов
12:08
Библиотеки программных текстов

Библиотеки программных текстов

Что я могу сделать, если они – libraries:

В компьютере вообще ничего другого не хранится, только тексты на разных языках. Текст на иероглифах не перестаёт быть носителем информации. Точно также, программа это текст на языке кодов, предназначенный для исполнения (т.е. для чтения компьютером и исполнения им же).
В стародавние времена было два основных языка. Первый – ассемблер. По сути – те же коды, но для хоть какого-то упрощения заменённые на команды add (сумма), jmp (перейти на строку), outp (записать информацию в порт) и т.д. Но и такой текст уже не коды, пригодные для машины, а текст, написанный человекам и удобный для человека. Чтобы сделать машинные коды, такой текст надо было откомпилировать. В результате можно было получить готовый исполняемый файл (с расширением EXE) и машинный код, который можно прицепить к другому исполняемому файлу (расширение OBJ). Язык Си (без плюсов) позволял писать ещё проще. А его компилятор делал те же EXE и OBJ файлы.
Вначале человек писал тексты с расширением ASM на ассемблере и с расширением C на Си. В этих текстах были какие-то отдельные функции для выполнения разнообразных действий.  В OBJ файл попадали все эти функции, пусть и не на человеческом, а на машинном языке.  
А теперь пусть этих OBJ файлов с различными функциями надо подключить много. С большими файлами работать не всегда удобно, потому функции по одной тематике часто рассовывали в разные файлы (из-за этого получалось много отельных OBJ). Их всех можно подключать, но это неудобно. Потому и было придумано общее хранилище, в которое можно было засунуть кучу OBJ по какой-то теме. Такой файл получил расширение LIB от той самой библиотеки. Видимо потому что отдельные файлы с кучей функций в них были чем-то похожи на книги с отдельными рассказами. А как было назвать объединение нескольких таких «книг»?
Позже библиотеками начал называть описание любых компонент. Просто потому, что в компьютере до сих пор нет ничего кроме текстов. Просто появились средства, упрощающие их написание. Я рисую в AutoCAD разнообразные линии, дуги и точки. А компьютер внутри записывает строку за строкой Линия 1(координаты), Линия 2 (координаты), хранит эту информации, а потом последовательно это всё рисует на экране (когда я открываю файл).
Небольшое отклонение от этой терминологии – модули. Это – тоже программные тексты. Но в составе некой отдельной системы (Access, 1C). Как тут полагается, нет обязательной терминологии и не хочу я сейчас развивать эту тему.
Библиотеки Arduino можно назвать драйверами… почему то забыв, что все драйвера – библиотеки, т.е всё те же наборы функцией на языке кодов. Драйверами принято называть наборы функций, получающий внутреннюю информацию от устройства (нули и единицы с каких-то входов и выходов) и выполняющие набор стандартных действий (переместить курсор мыши в точку, выкрасить букву на экране в какой-то цвет и т.д).
Всё, что подключается к микроконтроллеру – устройства, отправляющие и принимающие те самые нули и единицы. А драйвера – библиотеки позволяют рисовать на экранах и отправлять что-то в передатчик, написав понятное название функции (из драйвера) и не разбираясь в том, как это внутри делается.
Выше я написала, что все драйвера – библиотеки. Задумалась о том, можно ли сказать, что все библиотеки – драйвера. Наверное, и это можно, если понимать под обрабатываемым устройством не только спаянную микросхему но то, что способен придумать человеческий мозг. Тогда текстовая библиотека (функции для работы со строками) это функции для придуманного объекта «текстовая строка». Интуитивно понятно, что это. Но это, всё равно, придуманный объект. А у компьютера нет интуиции, у него есть сплошная ничем не разделённая оперативная память. Каждая её ячейка имеет адрес. По этому адресу что-то может быть записано или нет. Текстовая строка это её начальный адрес в памяти и символ конца строки где-то дальше. Строка это то, что между адресом начала и этим символом. Чтобы сложить две строки «Hello, » + «World!» = «Hello, World!» там внутри надо перейти на адрес первой строки, узнать её длину, пропрыгав до символа конца строки, тоже самое сделать со второй, выделить память под суммарную длину, переписать туда содержание вначале первой потом второй строки, вернуть адрес на новую созданную строку. И всё это потому, что придуман абстрактный объект «текстовая строка», с которым надо работать. А библиотека для работы с такой информации потребовалась потому, что делать это напрямую почти также неудобно, как вручную обрабатывать мышиные сдвиги в разные стороны.

Просмотров: 99 | Добавил: akostina76 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Календарь
«  Январь 2022  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный конструктор сайтов - uCoz