Опции компилятора, устанавливаемые в Eclipse CDT


Опции компилятора, устанавливаемые в Eclipse CDTВсе опции начинаются с дефиса (некоторые могут начинаться с двойного дефиса). Порядок следования опций в строке команды при вызове компилятора в большинстве случаев не имеет значения.

1) -ansi – Опция передает информацию компилятору о соответствии исходного кода стандарту ANSI. Опция допускает применение для языка Си стандарта ISO С89. При компиляции программ на языке С++ выключается поддержка всех расширений GNU, которые входят в конфликт со стандартом ISO C++. Тем не менее, некоторые расширения GNU допускаются. Если требуется строгая проверка на соблюдение стандарту, то дополнительно следует применять опцию -pedantic.

2) – Компилировать без линковки. Создается объектный файл с расширением ".о".

3) -Dmacro=[string] – Позволяет на этапе предобработки определить макрос с именем macro. Например, опция -Dbool=logic генерирует директиву макроопределения: #define bool logic. Если string не задано, то макрос определяется строкой, равной "1"

4) – Остановка после предобработки (препроцессинга). Вывод направляется на стандартное устройство вывода, если не задана опция " -о".

5) –glevel – Определяет объем дополнительной отладочной информации, выводимой в выходной файл и используемой затем отладчиком (level=1,2,3).

6) –Iname – Добавляет каталог с именем name для поиска заголовочных файлов.

7) –Iiibname – Опция задает имя статической библиотеки. При этом к имени библиотеки автоматически добавляется префикс "lib" и суффикс ".а". Например, -Iconio автоматически преобразуется в libco-nio.a и именно эта библиотека будет использоваться при компоновке.

8) –Ldirectory – Добавляет каталог с именем directory для поиска библиотек, указанных в опции "-I".

9) -fmessage-length=size – Обеспечивает применение форматирования при выводе сообщений об ошибках. Длина строки не превышает size знаков. Для языка C++ по умолчанию устанавливается size=72 знака. Если size=0, то форматирование не применяется и каждое сообщение выводится в отдельной строке.

10) –fsyntax – Компилятор проверяет только синтаксис исходной программы Никаких других действий не делает.

11) –nodefaultlibs – Редактор связей не будет использовать стандартные системные библиотеки. Будут использоваться библиотеки, явно заданные в командной строке. Стандартная библиотека libgcc.a являете частью компилятора и специфична для каждой платформы. Поэтому при отмене использования стандартных библиотек следует указать использование -lgce.


Только материалы из рубрики ТИЦ свободны для копирования без каких-либо условий. Ссылка на остальные материалы обязательна.