Зачем нужны системы программирования?
Состав системы программирования
В состав системы программирования обычно входят:
• транслятор;
• компоновщик (редактор связей, сборщик, англ, linker) — программа, которая собирает разные части (модули) создаваемой программы и функции из стандартных библиотек в единый исполняемый файл. На рисунке 6.16 показано, как собирается программа на языке Си, состоящая из двух модулей (исходные файлы qq.c и qql.c).
Рис. 6.16
1 Согласно одной из версий, это название связано с жучком, который попал между контактов реле компьютера Mark II в 1947 г. Дословно: debug — «удаление жучков».
Любая система программирования включает библиотеки стандартных подпрограмм. Это набор готовых процедур и функций, которые можно вызывать из своей программы. Например, в большинстве языков программирования есть стандартные функции для вычисления синуса и косинуса. Они подключаются к программе на этапе сборки, это делает компоновщик.
Многие программы используют одни и те же достаточно сложные системные функции (например, операции с окнами в графической среде). Если включать эти функции в код каждой программы, размеры исполняемых файлов намного увеличатся, из-за этого жёсткий диск и память будут расходоваться неэффективно.
Поэтому библиотеки таких функций хранятся на диске в виде отдельных файлов — динамически подключаемых библиотек, в системе Linux они имеют расширение so (от англ, shared objects — разделяемые объекты), а в Windows — расширение dll (от англ, dynamic-link library — динамически подключаемая библиотека). Когда программа вызывает функцию из такой библиотеки, библиотека загружается в память, и управление передаётся вызванной функции. Несколько программ могут обращаться к одной и той же копии библиотеки в памяти.
Набор стандартных структур данных и функций операционной системы, которые программисты могут использовать в прикладных программах, называется интерфейсом прикладного программирования (англ. API — Application Programming Interface). В ОС Windows применяется Windows API, а в Unix-подобных операционных системах — стандарт POSIX (англ. Portable Operating System Interface for Unix — переносимый интерфейс операционных систем Unix).
Сейчас для разработки программ чаще всего используют интегрированные среды (англ. IDE — Integrated Development Environment). В такую оболочку обычно входит текстовый редактор для набора текста программ, транслятор, компоновщик, отладчик и профилировщик.
Многие современные интегрированные среды позволяют строить интерфейс программы (расположение элементов в окне) с помощью мыши. Они называются средами быстрой разработки приложений (англ. RAD — Rapid Application Development) или средами визуального программирования. На рисунке 6.17 показано окно RAD-среды Lazarus для программирования на объектной версии языка Паскаль.
Среди профессиональных RAD-сред нужно в первую очередь назвать Microsoft Visual Studio (msdn.microsoft.com/vstudio). Её профессиональная версия — коммерческая, но все желающие могут бесплатно скачать и использовать ограниченную версию (Express) для учебных целей.
Большой популярностью пользуются также среды Dev-C++ (wxdsgn.sourceforge.net) и Delphi (embarcadero.com). Кросс-платформенная среда Code::Blocks (www.codeblocks.org) распространяется бесплатно, существуют версии для Windows, Mac OS и Linux.
Рис. 6.17
Следующая страница Вопросы и задания