- •1. Трансляторы, компиляторы, интерпретаторы.
- •2 . Ассемблер
- •3. Лексический анализ.
- •4. Синтаксический анализ.
- •6. Подготовка к генерации кода. Распределение памяти. Виды переменных и областей памяти. Выравнивание границ. Менеджеры памяти. Статическое и динамическое связывание.
- •7. Системы программирования. Интегрированные среды разработки. Структура современной системы программирования. Текстовые редакторы Лексический анализ «на лету».
- •8. Система подсказок и справок. Компоновщики. Загрузчики. Трансляция адресов. Настраивающий загрузчик. Динамические загрузчики.
- •9. Отладчики. Функции отладчиков. Библиотеки подпрограмм. Статические и динамические библиотеки подпрограмм. Ресурсы пользовательского интерфейса.
9. Отладчики. Функции отладчиков. Библиотеки подпрограмм. Статические и динамические библиотеки подпрограмм. Ресурсы пользовательского интерфейса.
Отла́дчик (деба́ггер, англ. debugger) — компьютерная программа, предназначенная для поиска ошибок в других программах, ядрах операционных систем, SQL-запросах и других видах кода. Отладчик позволяет выполнять пошаговую трассировку, отслеживать, устанавливать или изменять значения переменных в процессе выполнения кода, устанавливать и удалять контрольные точки или условия остановки и т.д.
отла́дчики (англ. debugger) — модули среды разработки или отдельные программы, предназначенные для поиска ошибок в программах;
Библиотека (от англ. library) в программировании — сборник подпрограмм или объектов, используемых для разработки программного обеспечения (ПО).
Динамические библиотеки
Часть основной программы, которая загружается в ОС по запросу работающей программы в ходе её выполнения (Run-time), то есть динамически (Dynamic Link Library, DLL в Windows, SO в Linux). Один и тот же набор функций (подпрограмм) может быть использован сразу в нескольких работающих программах, из-за чего они имеют ещё одно название — библиотеки общего пользования (Shared Library). Если динамическая библиотека загружена в адресное пространство самой ОС (System Library), то единственная копия может быть использована множеством работающих с нею программ, что положительно сказывается на степени использовании ресурса ОЗУ. Динамические библиотеки могут содержать в себе как критические для работы программы части, так и дополнительные функции. Дополнительным плюсом такого подхода является то, что динамическая библиотека может быть использована в качестве плагина (Plug-ins), расширяющего функциональность программы. Минусом является то, что в случае, если модуль, который содержит в себе критическую часть, отсутствует, программа не сможет продолжить работу.
Статические библиотеки
Могут быть в виде исходного текста, подключаемого программистом к своей программе на этапе написания (например, для языка Fortran существует огромное количество библиотек для решения разных задач именно в исходных текстах), либо в виде объектных файлов, присоединяемых (линкуемых) к исполняемой программе на этапе компиляции (в Microsoft Windows такие файлы имеют расширение .lib, в UNIX‐подобных ОС — обычно .a). В результате программа включает в себя все необходимые функции, что делает её автономной, но увеличивает размер. Без статических библиотек объектных модулей (файлов) невозможно использование большинства современных компилирующих языков и систем программирования: Fortran, Pascal, C, C++ и других.
