
- •Содержание Назначение и условия применения программы
- •Характеристики программы
- •Обращение к программе Синтаксис командной строки и правила задания опций
- •Управление стадиями обработки и выводом компилятора
- •Опции управления диалектом языка Си
- •Опции вывода и подавления предупреждений
- •Опции отладки
- •Опции оптимизации
- •Опции препроцессора
- •Передача опций ассемблеру
- •Опции каталогов поиска
- •Опции задания целевой машины и версии компилятора
- •Машинно-зависимые опции для целевой платформы
- •Опции генерации кода
- •Переменные окружения, управляющие работой компилятора
- •Перечень опций, не описанных в данной инструкции
- •Сообщения
- •Приложение а. Бинарные утилиты
- •Утилита objcopy Общие сведения
- •Формат командной строки
- •Описание опций
- •Утилита objdump Общие сведения
- •Формат командной строки
- •Описание опций
- •Редактор связейld Общие сведения
- •Описание опций
- •Переменные окружения
- •Ассемблер as Общие сведения
- •Формат командной строки
- •Входные файлы и исходная программа
- •Выходные (объектные) файлы
- •Предупреждения и сообщения об ошибках
- •Общие опции командной строки
- •Специфические опции целевой платформы
- •Лист регистрации изменений
Перечень опций, не описанных в данной инструкции
Описания следующих потенциально доступных опций компилятора не приведены в данном Руководстве в силу их неприменимости для данной целевой платформы.
Опции вывода и подавления предупреждений
Исключены описания следующих опций, относящихся к программам на языке Си++:
-Wenum-clash -Woverloaded-virtual
-Wreorder -Wsynth
-Wtemplate-debugging
Опции отладки
Опции для выдачи отладочной информации в разных форматах:
-ggdb -gstabs -gstabs+
-gcoff -gxcoff -gxcoff+
-gdwarf -ggdblevel -gstabslevel
-gcofflevel -gxcofflevel -gdwarflevel
-fpretend-float
-print-file-name=библиотека
-print-libgcc-file-name
Опции профилирования
-p -pg -a
Опции оптимизации
-fno-default-inline (имеет смысл только для Си++)
-fno-peephole(для MIPS этот вид оптимизации не реализован)
Опции редактирования внешних связей
(опущены все)
Опции каталогов поиска
-Lкаталог
Машинно-зависимые опции целевой платформы
-mmips-as -mgas -mgpopt -mmips-tfile
-mabicalls -mhalf-pic
-membedded-pic -EL
-EB -nocpp
Опции генерации кода
-fshared-data -fno-gnu-linker -finhibit-size-directive
+e0 +e1
Переменные окружения
LIBRARY_PATH
Входные и выходные данные
Входными данными для компилятора является совокупность файлов с программами на языке Си стандарта ANSI. В программах могут использоваться функции из стандартных библиотек ОС РВ Багет.
Характер выходных данных (результирующих файлов) зависит от применяемых опций компилятора: В качестве выходных данных компилятор может генерировать:
Tекст программ на языке Си, обработанных препроцессором (при использовании опции -E).
Совокупность программных файлов на языке ассемблера “ЭВМ Багет 23В” (при использовании опции-S).
Совокупность объектных файлов в формате elf с порядком байт в слове “big-endian” и отладочной информацией в форматеdwarf.
Свойства выходных файлов компилятора определяются также применением опций отладки (п. ) и оптимизации (п. ).
Для объединения нескольких объектных файлов, полученных в результате компиляции в один объектный модуль с разрешением взаимных ссылок следует применять поставляемый в комплекте с компилятором редактор связей ld (см. п. ниже).
Сообщения
Сообщения компилятора подразделяются на 4 категории:
Предупреждающие сообщения, имеющие структуру:
имя_файла:номер_строки:warning:сообщение
Предупреждающие сообщения, хотя и не препятствуют получению результирующего файла, как правило говорят о наличии сомнительных программных или языковых конструкций, которые могут быть источником ошибок при выполнении. Следует тщательно анализировать источник каждого такого сообщения.
Количество предупреждающих сообщений и их характер (степень “придирчивости” компилятора) можно регулировать при помощи опций вывода и подавления предупреждений, описанных в п. .
Сообщения об ошибках при компиляции программы, имеющие структуру:
имя_файла:номер_строки:сообщение_об_ошибке
Сообщения о неверном задании аргументов командной строки при запуске компилятора, имеющие структуру:
bt23b-gcc: сообщение_о_неверных_аргументах_командной строки
4. Сообщения об системных ошибках при поиске, запуске или обработке компонентов компилятора, имеющие структуру:
bt23b-gcc: сообщение
Все категории сообщений, кроме последней, относятся к компетенции прикладного программиста: он должен исправить ошибки в компилируемой программе или в командной строке запуска компилятора. Сообщения последней категории могут говорить о нарушениях целостности компилятора или о неверной настройке переменных окружения.
При получении следующих типов сообщений:
bt23b-gcc: command not found
specs file malformed after #characters
spec file has no spec for linking
Internal compiler error: program имяgot fatal signalсигнал
Invalid specification! Bug in cc
cannot open имя_файла
installation problem, cannot exec программа: File not found
Internal gcc abort.
необходимо:
Проверить правильность значений переменных окружения, в особенности PATH,GCC_EXEC_PREFIX, COMPILER_PATH, C_INCLUDE_PATH. См. их описания в п. . Если обнаружены неверные значения переменных окружения, то исправить их.
Повторите запуск компилятора с опцией -v, которая задает подробную выдачу информации о запуске компонентов компилятора, проанализируйте выдачу.
Проверьте также содержимое /CKCPB/local/H-linux86/bt23b/include. Это должна быть символьная ссылка, указывающая на каталог включаемых файлов ОС РВ Багет.
Если в результате этих действий не удалось выявить и устранить причину ошибки, то обратитесь к системному программисту (администратору).