Компиляция программ на языке Ада

Для удобства выношу раздел о компиляции в отдельную тему. Этот раздел полностью соответствует концовке раздела "Начало всех начал", так что его можно смело пропустить.

Итак, чтобы программа заработала, её нужно скомпилировать и скомпоновать. Рассмотрим несколько вариантов (более подробную информацию стоит смотреть в документации компилятора). Если Вы используете редактор Geany, то для компиляции и компоновки Вам достаточно нажать F9, а затем F5 для запуска программы. Рассмотрим компиляцию и компоновку в консоли.

Способ 1. Это самый простой способ — открываем консоль, переходим в папку с нашим файлом (main.adb) и пишем следующую команду:

gnatmake main.adb

В итоге получим исполняемый файл. В Linux его размер будет около 8 Кбайт. В Windows — около 850 Кбайт. Это очень много и связано с тем, что внутрь итогового файла добавлено много «ненужностей» (Run-Time Library).

Способ 2. Компиляцию можно выполнить так (если Вы уже испробовали способ 1, то итоговый файл main.exe перед компиляцией лучше удалить, т.к. компилятор «посмотрит», что в исходный файл (main.adb) никаких изменений не внесено, а итоговый файл уже существует, и «ругнётся», мол, «хозяин, ты что, издеваешься?»)

gnatmake -O1 xxx -bargs -shared

Размер файла будет порядка 59 Кбайт. Это уже лучше, но всё-равно много.

Способ 3. Опять удаляем main.exe и выполняем следующие команды:

gcc -c -O1 main.adb
gnatbind -shared -x main.ali
gnatlink main.ali -s -O1 -shared-libgcc

В результате получим исполняемый файл около 12 Кбайт. На этом, пожалуй, остановимся.

Подробно на опциях компилятора останавливаться не буду. Компиляторы бывают разные и опции у них тоже разные. С опытом придёт и знание того, какие опции нужны, а какие нет. Для самых любознательных могу посоветовать книгу Гавва А.Е. «Адское» программирование. Ada-95. Компилятор GNAT» и/или документацию к компилятору GNAT.