Aceasta este comanda fteqcc care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
fteqcc - compilator FTE QuakeC
REZUMAT
fteqcc [Opțiuni]
DESCRIERE
Această pagină de manual documentează pe scurt fteqcc comanda.
fteqcc este un program care compilează codul sursă QuakeC în datele de joc binaray ale Quake1 sau
Jocuri bazate pe QuakeWorld.
OPŢIUNI
--Ajutor Afișează rezumatul opțiunilor.
-Fautoproto
activați prototipul automat
-Fwasm aruncați tot codul de asamblare în qc.asm
-Kkeyword, -Kno-cuvânt cheie
activați sau dezactivați cuvintele cheie de limbă. Cuvintele cheie disponibile pentru comutare sunt: asm, break,
case, class, const, continue, default, entity, enum, enumflags, extern, float, for,
goto, int, întreg, noref, nosave, shared, state, string, struct, switch,
thinktime, typedef, union, var și vector.
-O0, -O1, -O2, -O3,
utilizați nivelul de optimizare între 0 și 3. Cu 0, nu are loc nicio optimizare, altele
valorile includ mai mult sau mai puțin dintre opțiunile din secțiune OPTIMIZAREA.
-src director
Specificați un director în care să căutați fișierele sursă (progs.src).
-Perete arată toate avertismentele
FORMAT
fteqcc acceptă mai multe formate de ieșire.
-Tstandard, -Tq1, -Tquakec
Aceasta este setarea implicită și generează cod compatibil cu Quake1 original.
-Thexen2, -T2
Emite cod compatibil Hexen2.
-Tkkqwsv, -Tkk7, -Tbigprogs, -Tversiune 7, -Tkkqwsv
Generează programe KK Versiunea 7 compatibile
-Tfte Generează cod specific pentru FTE Quake.
OPTIMIZAREA
Următoarele opțiuni pot fi utilizate pentru a regla optimizarea. Unele dintre ele sunt activate
în mod automat.
-Omisiuni
c = a*b se efectuează într-o singură operație, mai degrabă decât două, și poate cauza mai vechi
decompilatorii să eșueze.
-Oshortenifs
dacă (!a) a fost în mod tradițional compilat în două declarații. Această optimizare o face în
unul, dar poate face ca unele decompilatoare să devină confuze.
-Ononvec_parms
În qcc original, parametrii funcției au fost specificați ca stocare vectorială chiar și pentru
plutește. Acest lucru fixează asta.
-Oconstant_names
elimină numele constantelor din programele dvs., rezultând fișiere mai mici. Aceasta
face ca decompilatorii să lase deoparte nume sau să fabrice numere.
-Oșiruri_nume_constant
elimină numele constantelor șir din programele dvs. Acest lucru poate rupe suplimentele, deci
nu-l utilizați în aceste cazuri.
-Odupconstdefs
îmbinați definițiile constantelor care au aceeași valoare. Acordați o atenție suplimentară
atribuirea unor avertismente constante.
-Onouplicate șiruri
compactați masa de șiruri care este stocată în progs. Va fi considerabil
mai mic cu asta.
-Olocali
Elimina numele și definițiile locale. Acest lucru îl face cu adevărat greu de decompilat
-Ofuncție_nume
Acest lucru elimină numele funcțiilor care nu sunt niciodată apelate. Nu face mare lucru
un impact totusi.
-Nume de fișiere
Acest lucru elimină numele de fișiere ale programelor. Acest lucru poate deruta pe cei cu adevărat vechi
decompilatoare, dar nu este nimic față de cele mai recente.
-Fără referire
Elimină intrările variabilelor fără referință. Nu face diferența în bine
cod menținut.
-Timpurile de suprapunere
Optimizează numărul pr_globals prin suprapunerea temporare. În QC, fiecare
înmulțirea, împărțirea sau operația în general produce o variabilă temporară.
Această optimizare previne excesul, iar în cazul codului de joc al lui Hexen2, reduce
numărarea cu 50k. Aceasta este cea mai importantă optimizare de până acum.
-Oconstantaritmatic
5*6 emite de fapt o operație în progs. Acest lucru previne acest lucru,
făcând efectiv compilatorul să vadă 30
-Oprecache_file
Eliminați chestiile irosite folosite în apelurile de funcții și șirurile de caractere în fișierul precache
builtin (care este de fapt un ciot în cutremur).
-Oreturn_doar
Funcțiile care se termină într-o instrucțiune return nu au nevoie de o instrucțiune finalizată la sfârșitul lui
functia. Acest lucru poate încurca unele decompilatoare, făcând funcțiile să pară mai mari
decât erau.
-Ocompound_sare
Această optimizare are un efect mai ales cu instrucțiuni imbricate if/else, în loc de
trecând la o declarație de salt necondiționat, va sări la destinația finală
in schimb. Acest lucru va deruta decompilatorii.
-Ostrip_functions
Elimina „definițiile” funcțiilor care au fost apelate doar direct. Asta face
nu afectează jocurile salvate.
-Olocals_marshalling
Stocați toți localnicii într-o singură secțiune a pr_globals. Reducând-o foarte mult. Acest
efectuează în mod eficient treaba de suprapunere. A fost observat de câțiva ca fiind buggy,
cu toate acestea, iar circumstanțele în care provoacă probleme nu sunt încă cunoscute.
-Ovectorcale
Acolo unde o funcție este apelată doar cu un vector, acest lucru determină apelul funcției la
stocați trei flotoare în loc de un vector. Acest lucru poate salva un număr bun de pr_globals
unde acei vectori conțin multe coordonate duplicat, dar nu se potrivesc în întregime.
Utilizați fteqcc online folosind serviciile onworks.net