6.2. Опции

Любые из нижеописываемых опций компилятора CLIP могут быть помещены в файл .cliprc в текущей директории; или в файл $HOME/.cliprc; или в любой файл в директории $CLIPROOT/cliprc. Например, вы можете создать файл .cliprc следующего содержания в домашней директории:

-r
-l
-Scp866

В результате, каждая проводимая вами компиляция будет использовать опции -r -l -Scp866, даже если вы не укажете их явно.

Ниже следует список опций компилятора CLIP.

-h, --help

показать короткую справку об использовании и выйти

-H, --help-environment

показать короткую справку об используемых переменных окружения и выйти; см. подробности в главе Переменные окружения

-V, --version

показать версию компилятора CLIP и выйти

-v[<level>], --verbose[=<level>]

установить/увеличить уровень детализации выводимой информации; возможные значения <level> - от 0 (без вывода) до 6 (наиболее подробная детализация); по умолчанию - 1

-a, --auto-memvar[=1|0]

любая переменная, включенная в операторы PUBLIC, PRIVATE илиPARAMETERS автоматически объявляется как MEMVAR

-w, --namespace-warning[=1|0]

генерировать предупреждающие сообщения об использовании необъявленных переменных или полей

-e, --exec

сгенерировать исполняемый файл

-c, --compile

остановиться после генерации C кода

-g,-b, --debug[=1|0]

включить отладочную информацию в объектный файл

-t, --show-syntax-tree

вывести дерево синтаксиса программы

-o<name>, --output=<name>

задать имя исполняемого файла

-d<name>, --outdir=<name>

поместить сгенерированные объектные файлы в заданную директорию

-O, --optimise[=<val>]

задать уровень оптимизации для компилятора C

-M, --main

использовать код первого файла в списке в качестве точки старта программы (автообъявление процедуры MAIN)

-n, --nomain

не объявлять процедуру с именем исходного файла (.prg)

-p, --pcode

сгенерировать P-code модуль; см. описание функции Load()

-l, --c-pcode

компилировать в режиме C+P-code; дает меньший размер сгенерированного файла

-s, --shared

создать разделяемый объект; при использовании вместе с опицией -e включается режим динамической компоновки с библиотекой времени исполнения (libclip.so); это дает меньший размер исполняемого файла; см. также описание опции -r

-r, --shared-exec

всегда когда возможно компоновать с динамическими (разделяемыми) библиотеками; дает меньший размер исполняемого файла

-I<path>, --include-path=<path>

добавить заданную директорию в список для поиска заголовочных (включаемых) файлов (.ch)

-L<path>, --library-path=<path>

добавить заданную директорию в список для поиска библиотек

-D<name>, --define=<name>

определить макро <name>

-D<name=value>, --define=<name=value>

определить маскро <name> со значением <value>

-U[<filename>], --use-std-ch[=<filename>]

использовать альтернативный включаемый файл вместо стандартного STD.CH

-S<charset>, --source-charset=<charset>

определить кодировку строковых констант, используемых в исходном файле (.prg); по умолчанию используется значение переменной окружения CLIP_HOSTCS; см. подробности в главе Переменные окружения

-T<charet>, --target-charset=<charset>

определить кодировку строковых констант, используемую в выводе приложения; по умолчанию используется значение переменной окружения CLIP_HOSTCS; см. подробности в главе Переменные окружения

-P, --preprocess

остановиться после завершения работы препроцессора; результат работы препроцессора помещается в стандартный вывод

-C, --show-command

вывести определения команд на этапе работы препроцессора

-R, --noremove-c

не удалять временные '.c'-файлы

-N, --names

генерировать предупреждающие сообщения об использовании неопределенных функций; см. описание переменной окружения CLIP_NAMES в главе Переменные окружения

--static,--full-static

Don`t use shared libraries, ignore -r -s switches, include all CLIP or system libraries to executable file.

-E<name>=<value>, --environment=<name>=<value>

установить значение переменной окружения <name> равным <value> на время компиляции

-q <word>, --compat=<word>

установить режим совместимости с ключевыми словами; возможные значения:

  • no-as-word - не разрешается использование ключевого слова AS в определениях переменных; используется по умолчанию

  • as-word - разрешается использование ключевого слова AS в определениях переменных