Jest to polecenie fteqcc, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
fteqcc - kompilator FTE QuakeC
STRESZCZENIE
fteqcc [Opcje]
OPIS
Ta strona podręcznika opisuje pokrótce fteqcc dowództwo.
fteqcc to program, który kompiluje kod źródłowy QuakeC do binarnych danych gry Quake1 lub
Gry oparte na QuakeWorld.
OPCJE
--help Pokaż podsumowanie opcji.
-Fautoproto
umożliwić automatyczne prototypowanie
-Fwasm zrzuć cały kod asemblera do qc.asm
-Ksłowo kluczowe, -Kno-słowo kluczowe
włączać i wyłączać słowa kluczowe języka. Słowa kluczowe, które można przełączać, to: asm, break,
przypadek, klasa, const, kontynuuj, domyślny, jednostka, wyliczenie, wyliczenie, extern, float, for,
goto, int, liczba całkowita, noref, nosave, wspólne, stan, ciąg znaków, struktura, przełącznik,
thinktime, typedef, union, var i wektor.
-O0, -O1, -O2, -O3,
użyj poziomu optymalizacji pomiędzy 0 a 3. Przy 0 optymalizacja nie jest przeprowadzana, inne
wartości obejmują mniej więcej opcje w tej sekcji OPTYMALIZACJA.
-src katalog
Określ katalog, w którym będą szukać plików źródłowych (progs.src).
-Ściana pokaż wszystkie ostrzeżenia
FORMAT
fteqcc obsługuje kilka formatów wyjściowych.
-Tstandardowy, -Tq1, -Tquakec
Jest to ustawienie domyślne i generuje kod zgodny z oryginalnym Quake1.
-Thexen2, -Th2
Wysyła kod zgodny z Hexen2.
-Tkkqwsv, -Tkk7, -Tbigprogs, -Twersja7, -Tkkqwsv
Generuje programy kompatybilne z KK wersja 7
-Teraz Generuje kod specyficzny dla FTE Quake.
OPTYMALIZACJA
Do dostrojenia optymalizacji można użyć następujących opcji. Niektóre z nich są aktywowane
automatycznie.
-Ozadania
c = a*b jest wykonywane w jednej operacji, a nie w dwóch i może powodować starsze
dekompilatory zawodzą.
-Oskróty
if (!a) było tradycyjnie kompilowane w dwóch instrukcjach. Ta optymalizacja to robi
one, ale może powodować zamieszanie w niektórych dekompilatorach.
-Ononvec_parms
W oryginalnym qcc parametry funkcji zostały określone jako składnica wektorowa nawet dla
pływa. To rozwiązuje problem.
-Oconstant_names
usuwa nazwy stałych z programów, co skutkuje mniejszymi plikami. To
powoduje, że dekompilatory pomijają nazwy lub tworzą nazwy numeryczne.
-Oconstant_name_strings
usuwa nazwy stałych łańcuchowych z programów. Może to spowodować uszkodzenie dodatków, więc
nie używaj go w takich przypadkach.
-Odupconstdefs
scalić definicje stałych o tej samej wartości. Zwróć szczególną uwagę na
przypisanie do stałych ostrzeżeń.
-Onuplicateststrings
zagęść tabelę ciągów przechowywaną w progach. Będzie znacznie
z tym mniejszy.
-Olokaliści
Usuwa lokalne nazwy i definicje. To sprawia, że NAPRAWDĘ trudno jest go dekompilować
-Onazwy_funkcji
To usuwa nazwy funkcji, które nigdy nie są wywoływane. Niewiele to daje
jednak wpływ.
-Nazwy plików
Spowoduje to usunięcie nazw plików progs. To może zmylić naprawdę starych
dekompilatorów, ale nie różni się niczym od nowszych.
-Bez odniesienia
Usuwa wpisy zmiennych, do których nie ma odniesienia. Nie robi różnicy, dobrze
utrzymany kod.
-Temp.przekroczenia
Optymalizuje liczbę pr_globals poprzez nakładanie elementów tymczasowych. W QC, każdy
mnożenie, dzielenie lub ogólnie operacja daje zmienną tymczasową.
Ta optymalizacja zapobiega nadmiarowi, a w przypadku kodu gry Hexen2 zmniejsza
liczyć o 50 tys. To najważniejsza optymalizacja w historii.
-Okonstantararytmatyczny
5*6 faktycznie emituje operację do progów. To zapobiega temu zjawisku,
skutecznie sprawiając, że kompilator zobaczy 30
-Oprecache_file
Usuń niepotrzebne elementy używane w wywołaniach funkcji i ciągach znaków do pliku precache_file
wbudowany (który w rzeczywistości jest odcinkiem programu Quake).
-Tylko powrót
Funkcje kończące się instrukcją return nie wymagają instrukcji did na końcu
funkcja. Może to zmylić niektóre dekompilatory, sprawiając, że funkcje wydają się większe
niż oni.
-Ocompound_jumps
Ta optymalizacja ma wpływ głównie na zagnieżdżone instrukcje if/else, zamiast
przeskakując do instrukcji bezwarunkowego skoku, przeskoczy do miejsca docelowego
Zamiast. To zdezorientuje dekompilatorów.
-Ostrip_funkcje
Usuwa „definicje” funkcji, które kiedykolwiek były wywoływane tylko bezpośrednio. To działa
nie ma wpływu na zapisane gry.
-Olocals_marshalling
Przechowuj wszystkie ustawienia lokalne w jednej sekcji pliku pr_globals. Znacznie to redukując. Ten
skutecznie wykonuje zadanie nakładania się temperatur. Niektórzy zauważyli, że jest wadliwy,
jednakże okoliczności, w których powoduje problemy, nie są jeszcze znane.
-Owektorowe
Jeżeli funkcja jest wywoływana tylko z wektorem, powoduje to wywołanie funkcji
przechowuj trzy elementy pływające zamiast jednego wektora. Może to zaoszczędzić dużą liczbę pr_globals
gdzie te wektory zawierają wiele zduplikowanych współrzędnych, ale nie pasują całkowicie.
Korzystaj z fteqcc online, korzystając z usług onworks.net