
- •Содержание Назначение и условия применения программы
- •Характеристики программы
- •Обращение к программе Синтаксис командной строки и правила задания опций
- •Управление стадиями обработки и выводом компилятора
- •Опции управления диалектом языка Си
- •Опции вывода и подавления предупреждений
- •Опции отладки
- •Опции оптимизации
- •Опции препроцессора
- •Передача опций ассемблеру
- •Опции каталогов поиска
- •Опции задания целевой машины и версии компилятора
- •Машинно-зависимые опции для целевой платформы
- •Опции генерации кода
- •Переменные окружения, управляющие работой компилятора
- •Перечень опций, не описанных в данной инструкции
- •Сообщения
- •Приложение а. Бинарные утилиты
- •Утилита objcopy Общие сведения
- •Формат командной строки
- •Описание опций
- •Утилита objdump Общие сведения
- •Формат командной строки
- •Описание опций
- •Редактор связейld Общие сведения
- •Описание опций
- •Переменные окружения
- •Ассемблер as Общие сведения
- •Формат командной строки
- •Входные файлы и исходная программа
- •Выходные (объектные) файлы
- •Предупреждения и сообщения об ошибках
- •Общие опции командной строки
- •Специфические опции целевой платформы
- •Лист регистрации изменений
70
Си-компилятор для операционной системы реального времени ОС РВ Багет
Руководство программиста
листов
1998
Аннотация
В этом руководстве описано применение компилятора СКРВ Багет. Руководство ориентировано на программистов, использующих стандарт ANSI Си. В нем опущены описания некоторых опций, связанных с поддержкой традиционного Си.
Исключены описания некоторых опций отладки, оптимизации и др., практически не применимые при компиляции для ОС РВ Багет. Исключены описания опций gcc для редактирования связей, т.к. это действие выполняется ОС РВ Багет одновременно с динамической загрузкой объектных файлов непосредственно на целевой машине.
Руководство содержит также описания опций ассемблера, редактора связей, утилит objdump и objcopy.
Данное руководство предоставляется также в электронном виде. Для доступа к нему необходимо распаковать каталог исходных текстов как описано в п. 3.3.2 Руководства системного программиста и открыть документ PROG_GD.pdfв каталоге/CKCPB/src/docs/H-linux86/bt23b-gcc.
Содержание Назначение и условия применения программы
Компилятор СКРВ Багет предназначен для компиляции программ на языке Си с получением объектных файлов, которые могут быть загружены и выполнены на целевой платформе ЭВМ “Багет 23В” под управлением ОС РВ Багет. При этом сам компилятор СКРВ Багет выполняется на инструментальной платформе “IBM PC-совместимый компьютер” на базе процессора не ниже Intel 80386 под управлением ОСLinux Red Hat версии 4.2 или более поздней.
Для функционирования компилятора на инструментальной платформе должны быть доступны следующие ресурсы:
Объем оперативной памяти: 32 Мб.
Объем свободного пространства на жестком диске: 100 Мб.
Операционная система: ОС Linux Red Hat версии 4.2 или более поздней.
Прочие программные ресурсы: заголовочные файлы ОС РВ Багет.
Перед использованием компилятора необходимо произвести его установку и настройку окружения в соответствии с инструкцией, приведенной в документе “Руководство системного программиста”.
Для вызова компилятора по короткому имени bt23b-gcc необходимо включить в значение переменной окруженияPATH маршрут/CKCPB/local/H-linux86/bin. Рекомендуется включать этот маршрут в стандартное значение переменнойPATH на инструментальных ЭВМ в среде разработки программ для ОС РВ Багет.
Характеристики программы
Средняя скорость компиляции без оптимизации (на Pentium 133Мгц) |
около 800 строк в секунду |
Средняя скорость компиляции с оптимизацией уровня 2 (на Pentium 133Мгц) |
около 400 строк в секунду |
Передача промежуточных результатов между проходами обработки входных файлов по умолчанию осуществляется через временные файлы, создаваемые в каталоге /var/tmp или в каталоге, имя которого задано при помощи переменной окруженияTMPDIR.
Возможна передача промежуточных результатов через программные каналы (конвейеры). Для этого следует применять опцию компиляции -pipe.
Обращение к программе Синтаксис командной строки и правила задания опций
Компилятор СКРВ Багет вызывается при помощи команды bt23b-gccили при помощи командыgccс опцией-b bt23b. См. также указания об установке переменной окруженияPATHв гл. 13.
Обе команды — gcc иbt23b-gcc— воспринимают в качестве операндов опции и имена файлов. Многие опции имеют "длинные" имена, состоящие из нескольких букв, поэтому однобуквенные опции группировать нельзя:-dr— это не то же самое, что-d -r.
В большинстве случаев порядок перечисления опций и имен файлов в командной строке не имеет значения. Он важен, когда задается несколько опций одного типа, например, если многократно упоминается опция -I; в этом случае просмотр каталогов при поиске включаемых файлов будет производиться в том порядке, в котором они указаны в опциях-I.
Многие опции, имена которых начинаются с -f,-Wи-m(например-fforce-mem,‑fstrength-reduce,-Wformat), имеют положительную и отрицательную форму. Отрицательная форма получается из положительной путем добавления символов "no-" после префикса-fили-W, например отрицательной формой опции-fforce-memбудет опция-fno-force-mem. В руководстве для каждой такой опции приведено имя только одной из ее форм — той, которая противоположна умолчанию для данной опции.
Практически все опции gccимеют "длинные" имена, которые указаны в скобках после коротких имен. Для опций, начинающихся с-f, длинное имя образуется заменой префикса-fна--. Для опций, начинающихся с-W, длинное имя образуется заменой префикса-Wна--warn-. Правила образования отрицательной формы для длинных имен аналогичны описанным выше — после префикса--или–-warn-добавляются символыno-(например--no-delayed-branch,--warn-no-shadow).