PDA

Просмотр полной версии : [Info] Ключи компилятора Pawn



punkochel
09.06.2020, 15:48
Ключи компилятора Pawn.

Для чего нужны ключи: Ключи калькулятора необходимы программисту для создания своего рабочего места, с их помощью вы сможете настроить компилятор под свои нужды. Допустим вы работаете с несколькими проектами, без знания этой темы вы вероятнее всего будете создавать в каждом из них собственный компилятор. Чтобы этого избежать, можно вынести компилятор в отдельную папку и ключом указать соответствующий путь к проекту над которым вы работаете. Этот способ будет весьма удобен, если вы используете стороннюю среду разработки.

Как использовать ключи: Для их использования вам необходимо создать файл pawn.cfg непосредственно в папке с самим компилятором (pawncc.exe), и через пробел или с новой строки указать в нём ключи из таблицы.

Важная информация:

Опции, или же по другому ключи, могут начинаться как со знака "-" (минус), так и со знака "/" (слеш) (последний вариант работает только в Windows);
При желании опции со значениями могут быть отделены от буквы знаком ":" (двоеточие), или знаком "=" (равно). То есть опции "-d0", "-d=0" и "-d:0" эквивалентны друг другу.


Пример:


-v2
-a
-R+
-w239
-e:errors.inc






Ключ

Описание



-A<число>

Выравнивание сегмента данных и стека (в байтах)



-a

Создание текстового файла с ассемблерным кодом



-С[+/-]

Компактная кодировка для выходного файла (по умолчанию: +)



-с<имя>

Имя или номер кодовой страницы. Например: 1252 для Windows Latin-1



-D<путь>

Путь к рабочему каталогу



-d<число>

Уровни отладочной информации:

-d0 - без отладочной информации;
-d1 - с проверками времени выполнения, без символьной информации;
-d2 - полная отладочная информация с динамическими проверками;
-d3 - то же самое, что и -d2, но подразумевает -O0.



-e<имя>


Создать файл для записи ошибок компиляции



-H<число>

Дескриптор окна для отправки уведомления о завершении компилирования (только для Windows)



-i<путь>

Добавить путь для поиска подключаемых файлов



-l

Создать файл списка для предварительной обработки (.lst)



-O<число>

Уровни оптимизации:

-O0 - без оптимизации;
-O1 - только JIT-совместимые оптимизации;
-O2 - полная оптимизация.



-o<имя>

Установить базовое имя выходного файла (P-кода)



-p<имя>

Имя неявно подклчаемого файла (по умолчанию: "default.inc")



-R[+/-]

Добавить подробный отчет о рекурсии с цепочками вызовов (по умолчанию: -)



-r<имя>

Вывести отчет о глобальных переменных, константах и функциях в консоль или в файл



-S<число>

Размер стека/кучи в ячейках (по умолчанию: 4096)



-s<число>

Пропустить строки из входного файла



-t<число>

Установить размер табуляции (по умолчанию: 8)



-v<число>

Уровень вывода сообщений (по умолчанию: 2):

-v0 - тихий режим;
-v1 - обычный вывод;
-v2 - подробный вывод;



-w<число>

Отключить предупреждение по его номеру



-X<число>

Ограничение размера абстрактной машины (в байтах)



-XD<число>

Ограничение размера стека и данных абстрактной машины (в байтах)



-Z[+/-]

Работать в режиме совместимости (по умолчанию: -)



-E[+/-]

Обрабатывать предупреждения как ошибки



-\

Использовать '\' для экранирования символов



-^

Использовать '^' для экранирования символов



-;[+/-]

Требовать точку с запятой для завершения каждого предложения (по умолчанию: -)



-([+/-]

Требовать скобки для вызова функций (по умолчанию: -)



sym=val

Объявить константу "sym" со значением "val"



sym=

Объявить константу "sym" со значением "0"



Автор: punkochel (https://pro-pawn.ru/member.php?9227-punkochel)
Источник материала: Pawn compiler (Build string)

Переведено с помощью Google Translete (https://translate.google.com/) и своих навыков.



-A<num> alignment in bytes of the data segment and the stack
-a output assembler code
-C[+/-] compact encoding for output file (default=+)
-c<name> codepage name or number; e.g. 1252 for Windows Latin-1
-Dpath active directory path
-d<num> debugging level (default=-d3)
0 no symbolic information, no run-time checks
1 run-time checks, no symbolic information
2 full debug information and dynamic checking
3 same as -d2, but implies -O0
-e<name> set name of error file (quiet compile)
-H<hwnd> window handle to send a notification message on finish
-i<name> path for include files
-l create list file (preprocess only)
-o<name> set base name of (P-code) output file
-O<num> optimization level (default=-O0)
0 no optimization
1 JIT-compatible optimizations only
2 full optimizations
-p<name> set name of "prefix" file
-R[+/-] add detailed recursion report with call chains (default=-)
-r[name] write cross reference report to console or to specified file
-S<num> stack/heap size in cells (default=4096)
-s<num> skip lines from the input file
-t<num> TAB indent size (in character positions, default=8)
-v<num> verbosity level; 0=quiet, 1=normal, 2=verbose (default=2)
-w<num> disable a specific warning by its number
-X<num> abstract machine size limit in bytes
-XD<num> abstract machine data/stack size limit in bytes
-Z[+/-] run in compatibility mode (default=-)
-E[+/-] turn warnings in to errors
-\ use '\' for escape characters
-^ use '^' for escape characters
-;[+/-] require a semicolon to end each statement (default=-)
-([+/-] require parantheses for function invocation (default=-)
sym=val define constant "sym" with value "val"
sym= define constant "sym" with value 0


*Исключительно для pro-pawn.ru
Копирование данной статьи на других ресурсах без разрешения автора или Daniel_Cortez (https://pro-pawn.ru/member.php?100-Daniel_Cortez) запрещено!

Daniel_Cortez
13.06.2020, 14:49
Исправил несколько неточностей в описаниях опций, убрал излишние отступы в таблице (злоупотреблять этим тоже не стоит, ибо неудобно будет смотреть с экранов мобильных устройств). Тема перемещена в раздел "Уроки".