Это команда fteqcc, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
fteqcc - компилятор FTE QuakeC
СИНТАКСИС
fteqcc [кредита]
ОПИСАНИЕ
Эта страница руководства кратко документирует fteqcc команда.
fteqcc это программа, которая компилирует исходный код QuakeC в двоичные данные игры Quake1 или
Игры на основе QuakeWorld.
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
--Помогите Показать сводку опций.
-Фаутопрото
включить автоматическое прототипирование
-Фвасм сбросить весь код ассемблера в qc.asm
-Kключевое слово, -Kno-ключевое слово
включить или выключить языковые ключевые слова. Ключевые слова, доступные для переключения: asm, break,
случай, класс, константа, продолжить, по умолчанию, сущность, перечисление, enumflags, extern, float, для,
goto, int, целое число, noref, nosave, общий, состояние, строка, структура, переключатель,
thinktime, typedef, union, var и vector.
-О0, -О1, -О2, -О3,
используйте уровень оптимизации от 0 до 3. При значении 0 оптимизация не выполняется, другие
значения включают больше или меньше параметров в разделе ОПТИМИЗАЦИЯ.
-источник каталог
Укажите каталог для поиска исходных файлов (progs.src).
-Стена показать все предупреждения
ФОРМАТ
fteqcc поддерживает несколько форматов вывода.
-Стандарт, -Tq1, -Тквакек
Это настройка по умолчанию, которая генерирует код, совместимый с оригинальным Quake1.
-Тексен2, -Th2
Выводит код, совместимый с Hexen2.
-Тккквсв, -Ткк7, -Тбигпрогс, -Тверсия7, -Тккквсв
Генерирует проги, совместимые с KK Version 7
-Тфте Генерирует код, специфичный для FTE Quake.
ОПТИМИЗАЦИЯ
Следующие параметры можно использовать для точной настройки оптимизации. Некоторые из них активированы
автоматически.
-Задания
c = a * b выполняется за одну операцию, а не за две, и может вызывать более старые
декомпиляторы выйти из строя.
-Ошортенифы
if (! a) традиционно составлялся из двух операторов. Эта оптимизация делает это в
один, но может запутать некоторые декомпиляторы.
-Ononvec_parms
В исходном qcc параметры функции были указаны как хранилище векторов даже для
плавает. Это исправляет.
-Oconstant_names
удаляет имена констант из ваших прог, что приводит к уменьшению размера файлов. Это
заставляет декомпиляторы опускать имена или создавать числовые.
-Oconstant_name_strings
вырезает имена строковых констант из ваших прог. Это может сломать аддоны, поэтому
не используйте его в таких случаях.
-Одупконстдефс
объединить определения констант, которые имеют одно и то же значение. Обратите особое внимание на
присвоение постоянных предупреждений.
-На двойных кольцах
сжать таблицу строк, которая хранится в прогах. Будет значительно
меньше с этим.
-Олокалы
Удаляет местные названия и определения. Это делает ДЕЙСТВИТЕЛЬНО трудным декомпилировать
-Ofunction_names
Это удаляет имена функций, которые никогда не вызываются. Не делает особого
хотя влияние.
-Имена файлов
Это удаляет имена файлов прог. Это может сбить с толку действительно старые
декомпиляторы, но ничто по сравнению с более поздними.
-Не упоминается
Удаляет записи переменных, на которые нет ссылок. Не имеет значения хорошо
поддерживаемый код.
-Ooverlaptemps
Оптимизирует количество pr_globals за счет перекрытия временных файлов. В QC каждые
умножение, деление или операция в целом дает временную переменную.
Эта оптимизация предотвращает избыток, а в случае кода игры Hexen2 снижает
счет на 50к. Это самая важная оптимизация на свете.
-Оконстантарифматическая
5 * 6 фактически выдает операцию в прогах. Это предотвращает это,
эффективно заставляя компилятор видеть 30
-Oprecache_file
Удалите ненужные вещи, использованные в вызовах функций и строках, в файл precache_file
встроенный (который на самом деле является заглушкой в Quake).
-Oreturn_only
Функции, заканчивающиеся оператором return, не нуждаются в операторе done в конце
функция. Это может сбить с толку некоторые декомпиляторы, из-за чего функции будут казаться больше.
чем они были.
-Ocompound_jumps
Эта оптимизация работает в основном с вложенными операторами if / else вместо
переход к оператору безусловного перехода, он перейдет к конечному пункту назначения
вместо. Это приведет в недоумение декомпиляторы.
-Ostrip_functions
Удаляет определения функций, которые когда-либо вызывались только напрямую. Это делает
не влияет на сохраненные игры.
-Olocals_marshalling
Храните всех локальных жителей в одном разделе pr_globals. Значительно уменьшая это. Этот
эффективно выполняет работу по перекрытию температур. Некоторые заметили, что он глючит,
однако и обстоятельства, в которых это вызывает проблемы, пока неизвестны.
-Овекторкалы
Если функция вызывается только с вектором, это вызывает вызов функции
хранить три поплавка вместо одного вектора. Это может сэкономить большое количество pr_globals
где эти векторы содержат много повторяющихся координат, но не совпадают полностью.
Используйте fteqcc онлайн с помощью сервисов onworks.net