Questo è il comando fteqcc che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
fteqcc - compilatore FTE QuakeC
SINOSSI
fteqcc [Opzioni]
DESCRIZIONE
Questa pagina di manuale documenta brevemente il fteqcc comando.
fteqcc è un programma che compila il codice sorgente di QuakeC in dati di gioco binaray di Quake1 o
Giochi basati su QuakeWorld.
VERSIONI
--Aiuto Mostra il riepilogo delle opzioni.
-Fautoproto
abilitare la prototipazione automatica
-Fwasm scarica tutto il codice assembler su qc.asm
-Kparola chiave, -Kno-parola chiave
attiva o disattiva le parole chiave della lingua. Le parole chiave disponibili per l'attivazione/disattivazione sono: asm, break,
case, class, const, continue, default, entità, enum, enumflags, extern, float, per,
goto, int, intero, noref, nosave, condiviso, stato, stringa, struttura, interruttore,
thinktime, typedef, union, var e vector.
-O0, -O1, -O2, -O3,
utilizzare un livello di ottimizzazione compreso tra 0 e 3. Con 0 non viene eseguita alcuna ottimizzazione, altro
i valori includono più o meno le opzioni nella sezione OTTIMIZZAZIONE.
-sorgente elenco
Specifica una directory in cui cercare i file sorgente (progs.src).
-Parete mostra tutti gli avvisi
FORMATO
fteqcc supporta diversi formati di output.
-Standard, -Tq1, -Tquake
Questa è l'impostazione predefinita e genera codice compatibile con Quake1 originale.
-Tessene2, -G2
Emette il codice compatibile con Hexen2.
-Tkkqwsv, -Tkk7, -Tbigprog, -Tversione7, -Tkkqwsv
Genera programmi compatibili con la versione 7 di KK
-Fte Genera codice specifico per FTE Quake.
OTTIMIZZAZIONE
Le seguenti opzioni possono essere utilizzate per ottimizzare l'ottimizzazione. Alcuni di loro sono attivati
automaticamente.
-Omissioni
c = a*b viene eseguito in un'operazione anziché in due e può causare più vecchi
decompilatori fallire.
-Abbrevi
if (!a) era tradizionalmente compilato in due affermazioni. Questa ottimizzazione lo fa in
uno, ma può causare confusione in alcuni decompilatori.
-Ononvec_parms
Nell'originale qcc, i parametri della funzione sono stati specificati come archivio vettoriale anche per
galleggia. Questo lo risolve.
-Nomi_ocostanti
elimina i nomi delle costanti dai tuoi programmi, risultando in file più piccoli. Esso
fa sì che i decompilatori omettano nomi o ne creino di numerici.
-Ocostante_nome_stringhe
elimina i nomi delle costanti stringa dai tuoi programmi. Questo può rompere gli addon, quindi
non usarlo in quei casi.
-Odupconstdefs
unire definizioni di costanti che hanno lo stesso valore. Presta particolare attenzione a
assegnazione di avvisi costanti.
-Oupplicatestringhe
compattare la tabella di stringhe memorizzata nei progs. Sarà notevolmente
più piccolo con questo.
-Olocali
Elimina i nomi e le definizioni locali. Questo lo rende DAVVERO difficile da decompilare
-Nomi_funzioni
Questo elimina i nomi delle funzioni che non vengono mai chiamate. Non ci guadagna molto
un impatto però.
-Nomi di file
Questo elimina i nomi dei file dei progs. Questo può confondere i veri vecchi
decompilatori, ma non è niente per quelli più recenti.
-Non referenziato
Rimuove le voci delle variabili non referenziate. Non fa differenza bene
codice mantenuto.
-Tempi sovrapposti
Ottimizza il conteggio pr_globals sovrapponendo i temporanei. In QC, ogni
la moltiplicazione, la divisione o l'operazione in generale produce una variabile temporanea.
Questa ottimizzazione previene l'eccesso e, nel caso del codice di gioco di Hexen2, riduce
il conteggio di 50k. Questa è l'ottimizzazione più importante di sempre.
-Ocostantaritmatico
5*6 emette effettivamente un'operazione nei progs. Questo impedisce che ciò accada,
facendo effettivamente vedere al compilatore 30
-Oprecache_file
Elimina gli elementi sprecati utilizzati nelle chiamate di funzione e nelle stringhe nel precache_file
builtin (che in realtà è uno stub in quake).
-Solo ritorno
Le funzioni che terminano con un'istruzione return non necessitano di un'istruzione done alla fine di
la funzione. Questo può confondere alcuni decompilatori, facendo apparire le funzioni più grandi
di quanto lo fossero.
-Ocompound_salta
Questa ottimizzazione ha un effetto principalmente con istruzioni if/else annidate, invece di
saltando a un'istruzione di salto incondizionato, salterà alla destinazione finale
Invece. Questo sconcerterà i decompilatori.
-Funzioni_Ostrip
Elimina le "def" delle funzioni che sono state chiamate solo direttamente. Questo sì
non influisce sui giochi salvati.
-Olocals_marshalling
Memorizza tutti i locali in una sezione di pr_globals. Riducendolo notevolmente. Questo
fa efficacemente il lavoro di overloadtemps. È stato notato come bacato da alcuni,
tuttavia, e le circostanze in cui provoca problemi non sono ancora note.
-Ovettoriali
Quando una funzione viene chiamata con solo un vettore, questo fa sì che la chiamata alla funzione
memorizzare tre float invece di un vettore. Questo può salvare un buon numero di pr_globals
dove quei vettori contengono molte coordinate duplicate ma non corrispondono del tutto.
Usa fteqcc online utilizzando i servizi onworks.net