Dit is de opdracht fteqcc die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
fteqcc - FTE QuakeC-compiler
KORTE INHOUD
fteqcc [opties]
PRODUCTBESCHRIJVING
Deze handleiding documenteert in het kort de: fteqcc opdracht.
fteqcc is een programma dat de QuakeC-broncode compileert naar binaray-spelgegevens van Quake1 of
Op QuakeWorld gebaseerde spellen.
OPTIES
--help Overzicht van opties weergeven.
-Fautoproto
automatische prototyping mogelijk maken
-Fwasm dump alle assemblercode naar qc.asm
-Kzoekwoord, -Kno-trefwoord
taalzoekwoorden in- of uitschakelen. Trefwoorden die beschikbaar zijn om te schakelen zijn: asm, break,
case, class, const, continue, default, entiteit, enum, enumflags, extern, float, for,
goto, int, geheel getal, noref, nosave, gedeeld, staat, string, struct, switch,
thinktime, typedef, union, var en vector.
-O0, -O1, -O2, -O3,
gebruik een optimalisatieniveau tussen 0 en 3. Bij 0 vindt er geen optimalisatie plaats, anders
waarden omvatten min of meer van de opties in de sectie OPTIMALISATIE.
-src directory
Geef een map op waarin u naar bronbestanden (progs.src) wilt zoeken.
-Muur toon alle waarschuwingen
FORMAT
fteqcc ondersteunt verschillende uitvoerformaten.
-Tstandaard, -Tq1, -Tquakec
Dit is de standaardinstelling en genereert code die compatibel is met de originele Quake1.
-Thexen2, -Th2
Voert Hexen2-compatibele code uit.
-Tkkqwsv, -Tkk7, -Tbigprogs, -Tversie7, -Tkkqwsv
Genereert KK Versie 7 compatibele programma's
-Tfte Genereert code specifiek voor FTE Quake.
OPTIMALISATIE
De volgende opties kunnen worden gebruikt om de optimalisatie te verfijnen. Sommigen van hen zijn geactiveerd
automatisch.
-Oopdrachten
c = a*b wordt in één operatie uitgevoerd in plaats van in twee, en kan ouder worden
decompilers falen.
-Verkortingen
if (!a) werd traditioneel samengesteld in twee uitspraken. Deze optimalisatie doet het
één, maar kan ervoor zorgen dat sommige decompilers in de war raken.
-Ononvec_parms
In de originele qcc werden functieparameters zelfs gespecificeerd als een vectoropslag
drijft. Dit lost dat op.
-Oconstante_namen
verwijdert de namen van constanten uit uw programma's, wat resulteert in kleinere bestanden. Het
zorgt ervoor dat decompilers namen weglaten of numerieke namen verzinnen.
-Oconstante_naam_strings
verwijdert de namen van stringconstanten uit uw progs. Dit kan add-ons kapot maken, dus
gebruik het in die gevallen niet.
-Odupconstdefs
definities samenvoegen van constanten die dezelfde waarde hebben. Besteed extra aandacht aan
toewijzing aan constante waarschuwingen.
-Onodubbele tekenreeksen
compact de stringtabel die is opgeslagen in de progs. Het zal aanzienlijk zijn
kleiner hiermee.
-Olocalen
Verwijdert lokale namen en definities. Dit maakt het ECHT moeilijk om te decompileren
-Ofunctie_namen
Hierdoor worden de namen verwijderd van functies die nooit worden aangeroepen. Maakt niet veel uit
wel een impact.
-Ofilenamen
Hierdoor worden de bestandsnamen van de programma's verwijderd. Dit kan de echt oude mensen in verwarring brengen
decompilers, maar is niets vergeleken met de recentere.
-Ons referenties
Verwijdert de vermeldingen van variabelen zonder verwijzing. Maakt geen verschil
onderhouden code.
-Ooverlaptemps
Optimaliseert het aantal pr_globals door overlappende tijdelijke bestanden. In QC, elke
vermenigvuldigen, delen of bewerken levert in het algemeen een tijdelijke variabele op.
Deze optimalisatie voorkomt overdaad en vermindert in het geval van de gamecode van Hexen2
de telling met 50k. Dit is de belangrijkste optimalisatie ooit.
-Oconstantaritmatisch
5*6 zendt feitelijk een bewerking uit naar de progs. Dit voorkomt dat dit gebeurt,
waardoor de compiler effectief 30 ziet
-Oprecache_bestand
Verwijder de verspilde spullen die worden gebruikt in functieaanroepen en tekenreeksen naar het precache_file
ingebouwd (wat eigenlijk een stompje in een aardbeving is).
-Alleen retour
Functies die eindigen op een return-instructie hebben geen done-instructie nodig aan het einde van
de functie. Dit kan sommige decompilers in verwarring brengen, waardoor functies groter lijken
dan ze waren.
-Ocompound_sprongen
Deze optimalisatie heeft vooral effect bij geneste if/else-instructies, in plaats van
Als u naar een onvoorwaardelijke sprongverklaring springt, springt deze naar de eindbestemming
in plaats van. Dit zal decompilers verbijsteren.
-Ostrip_functies
Verwijdert de 'defs' van functies die alleen rechtstreeks werden aangeroepen. Dit wel
heeft geen invloed op opgeslagen spellen.
-Olocals_marshalling
Bewaar alle lokale bewoners in één sectie van de pr_globals. Het enorm verminderen. Dit
doet effectief het werk van overlaptemps. Het is door enkelen opgemerkt als buggy,
echter, en de omstandigheden waarin dit problemen veroorzaakt zijn nog niet bekend.
-Ovectorcalen
Wanneer een functie wordt aangeroepen met alleen een vector, zorgt dit ervoor dat de functie wordt aangeroepen
bewaar drie drijvers in plaats van één vector. Dit kan een flink aantal pr_globals besparen
waarbij die vectoren veel dubbele coördinaten bevatten, maar niet volledig overeenkomen.
Gebruik fteqcc online met behulp van onworks.net-services