Компилятор PGCC

Компилятор Portland Group C (PGCC).

Компилятор PGCC для процессоров AMD64 и IA32/EM64T производит компиляцию программ C и линкует согласно опциям в командной строке.

Синтаксис команды:

pgcc [ -параметры ]... sourcefile...

 

  • Параметры могут отсутствовать или содержать опции копилятора
  • Суффиксы sourcefile указывают на вид файла:
         .c   - файл на C; обрабатывается препроцессором перед компиляцией; компилируется
         .i   - файл на C после обработки препроцессора; компилируется
         .s   - ассемблерный файл; передаётся ассемблеру
         .S   - ассемблерный файл; обрабатывается препроцессором; передаётся ассемблеру
         .o   -объектный файл; передаётся компоновщику
         .a   - библиотечный файл; передаётся компоновщику

Полный список опций компилятора можно посмотреть по команде man pgcc.
Некоторые важные опции компиляции для PGCC приведены ниже:

  Опция   Назначение
Эта опция означает, что необходима только компиляция. Из исходных файлов программы создаются объектные файлы.
-C Включает  проверки выхода индекса за границы массива
-O0 Отключает оптимизацию.
-О1 Оптимизация по размеру. Не использует методов оптимизации, которые могут увеличить размер кода. Создает в большинстве случаев самый маленький размер кода.
-O2 или -O Оптимизация устанавливаемая по умолчанию.
-O3 Задействует методы оптимизации из -O2 и, дополнительно, более агрессивные методы оптимизации, которые подходят не для всех программ.
-Os Включает оптимизацию по скорости, но при этом отключает некоторые оптимизации, которые могут привести к увеличению размеров кода при незначительном выигрыше в скорости.
-fast Включает в себя -O2 и ряд других опций, таких как использование векторизации с поддержкой SSE инструкций. Использование -fast понижает точность вычислений.
-g Включает информацию об отладке.
-fastsse То же самое что и -fast -Mipa=fast - включает межпроцедурный анализ.
-I Использует для добавления ваших собственных каталогов  поиска заголовочных файлов в процессе сборки.
-L Передает компоновщику. Использует для добавления ваших собственных каталогов  поиска библиотек в процессе сборки.
-l Передает компоновщику. Использует для добавления ваших собственных библиотек  поиска в процессе сборки.