Siehe auch:
Überblick über die wichtigsten Optionen
Microsoft
Microsoft (R) C Optimizing Compiler Version 6.00A
Copyright (c) Microsoft Corp 1984-1990. All rights reserved.
usage: cl [ option... ] filename... [ -link linkoption... ]
C COMPILER OPTIONS
-MEMORY MODEL-
/AS small model (default) /AC compact model
/AM medium model /AL large model
/AH huge model /AT tiny model (.COM files)
-OPTIMIZATION-
/O enable optimization (same as /Ot) /Oa ignore aliasing
/Od disable optimizations /Oe enable registers allocations
/Og enable global optimization /Oi enable intrinsic functions
/Ol enable loop optimizations /On disable "unsafe" optimizations
/Op enable precision optimizations /Or disable in_line return
/Os optimize for space /Ot optimize for speed (default)
/Ow assume aliasing in function calls /Ox max. optimization (/Oegilt /Gs)
-CODE GENERATION-
/G0 8086 instructions (default) /G1 186 instructions
/G2 286 instructions /Gm put strings in constant segment
/Gc Pascal style function calls /Gr _fastcall type calls
/Gs no stack checking /Gt[number] data size threshold
/Gw Windows entry sequence
-OUTPUT FILES-
/Fa[assembly listing file] /Fb[bound executable file]
/Fc[mixed source/object listing file] /Fe
(press to continue)
/Fl[object listing file] /Fm[map file]
/Fo
Bemerkung:
Symantec
SC is a one-step program to compile and link C++, C and ASM files.
Usage ([] means optional):
SC file... [flags...] [@file]
file... .CPP, .C or .ASM source, .OBJ object or .LIB library file name[s]
@file... pick up arguments from file or environment
flags... zero or more of the following:
-a[1|2|4|8] alignment of struct members -A strict ANSI C/C++
-b[r|x] use 286|386 DOS extender passes -c skip the link, do compile only
-cpp assume source files are C++ -C no inline expansion
-cod Generate .cod (.asm) file -D[macro[=text]] define macro
-e show results of preprocessor -f IEEE 754 inline 8087 code
-ff fast inline 8087 code -g put full debug info in .OBJ file
-g3 CV3 symbol format -gd dynamic C++ type info only
-gf disable debug info optimization -gg make static functions global
-gh symbol info for globals -gl line numbers only
-gs symbol info only -gt generate trace prolog/epilog
-H use precompiled headers (ph) -HDdirectory use ph from directory
-HF[filename] generate ph to filename -HIfilename #include filename
-HO include files only once -HX automatic precompiled headers
-Ipath #include file search path -j[0|1|2] Asian language characters
0: Japanese (default) 1: Taiwanese and Chinese 2: Korean
-Masm specify assembler to use -M/switch pass /switch to assembler
-m[tsmclvfnrpxz][do][w][u] memory model
s: small code and data (default) m: large code, small data
c: small code, large data l: large code and data
v: VCM r: Rational 16 bit DOS Extender
p: Pharlap 32 bit DOS Extender x: DOSX 32 bit DOS Extender
z: ZPM 16 bit DOS Extender f: OS/2 2.0 32 bit
t: .COM file n: Windows NT 32 bit
d: DOS 16 bit (default) o: OS2 16 bit
w: SS != DS u: reload DS
-NC don't use COMDATs -NL no default library
-NS new code seg for each function -NTname set code segment name
-NV vtables in far data
-o[-+flag] run optimizer with flag -ooutput output filename (.ext opt)
-p turn off autoprototyping -P default to pascal linkage
-r strict prototyping -R put switch tables in code seg
-s stack overflow checking -S always gen stack frame
-u suppress predefined macros -v[0|1|2] verbose compile
-w[n] suppress warnings, n is msg num -wx warnings are errors
-W{0123ADadefmrstuvwx-+} Windows prolog/epilog
1: Full 2: Reduced 3: Smart callback A: EXE D: DLL
-x turn off error maximum -XIspec instantiate template
=nnnn set stack size for Sxxx -[0|2|3|4|5] 88/286/386/486/P5 code
Symantec Preprocessor Version 6.11
Copyright (C) Symantec Corporation 1984-1993. All Rights Reserved.
Use:
SPP input [-ooutput] {-D[macro[=text]]}
[-m(smclv)] {-(AjJuvwx)} {-Ipath}
input source file name
-A strict ANSI (no extended keywords) -D define macro
-I #include path search path -j Asian language characters
-J chars default to unsigned
-ms small code, small data (default) -mm large code, small data
-mc small code, large data -ml large code, large data
-mv vcm model
-o output file name (.i)
-u suppress predefined macros -v verbose compile
-w[n] suppress warning n -x turn off error maximum
Symantec Segmented Executable Linker Version 6.01a23
Copyright (C) Symantec Corporation 1985-1993. All rights Reserved.
Usage:
LINK386 objects, exe, map, libraries, def [, res] [switches...] ;
objects object files separated with +'s
exe name for the resulting EXE file
map name for the MAP file
libraries library files and directories separated with +'s
def name of the DEF file
res name of the resource file
Object and Library files are searched for in the current directory, in the
specified directories, and then along the OBJECTS and LIB environment paths.
For an explanation of the switches and DEF file syntax that are valid
when producing a particular type of executable file, use:
/HELPDOS for DOS and DOSX executables
/HELPWINDOWS for Windows 3.x executables
/HELPNT for Windows NT executables
IBM AIX XL C Compiler/6000
Verwendung:
cc [ Angabe | Datei ]...
xlc [ Angabe | Datei ]...
c89 [ Angabe | Datei ]...
Beschreibung:
Die Befehle cc, xlc und c89 wandeln XL C-Quellendateien um. Diese
Befehle unterscheiden sich nur in ihrer Standardsprachebene
voneinander. Bei cc ist die Standardsprachebene "erweitert", bei
xlc und c89 jeweils "ansi". Diese Befehle verarbeiten auch
Quellen- und Objektdateien aus Assembler. Wenn die Option -c
nicht angegeben wird, geben diese Befehle einen Aufruf an den
Linkage Editor zur Erstellung einer einzelnen Objektdatei.
Mögliche Eingabedateien sind:
1. Dateiname mit Suffix .c: C-Quellendatei
2. Dateiname mit Suffix .i: vorverarbeitete C-Quellendatei
3. Dateiname mit Suffix .o: Objektdatei für den Befehl ld
4. Dateiname mit Suffix .s: Assembler-Quellendatei
Angaben:
Eine oder mehrere der folgenden Angaben sind möglich:
1. Optionsangaben:
-# Zeigt ausführliche Informationen über
den Stand der Verarbeitung durch den
Compiler an, ohne etwas aufzurufen.
-B<Präfix>
Konstruiert alternative Programmnamen für den
Compiler/Assembler/Linkage Editor.
<Präfix> wird am Anfang der standardmäßigen
Programmnamen eingefügt.
-c Nur umwandeln; ld wird nicht aufgerufen.
-C Schreiben von auszugebenden Kommentaren,
während die Vorverarbeitung läuft. Wird
zusammen mit -E und -P verwendet.
-D<Name>[=<Def>]
Definiert <Name> wie in der Anweisung #define.
Wird <Def> nicht angegeben, wird 1 angenommen.
-E Vorverarbeitung ohne Umwandlung; Ausgabe
geht an stdout
-F<x>[:<Zeilengruppe>]
Alternative Konfigurationsdatei <x> mit
wahlfreier <Zeilengruppe>. Wird <Zeilengruppe>
nicht angegeben, wird xlc angenommen.
-g Erstellen von Testhilfeinformationen.
-I<Verz> Im Verzeichnis <Verz> nach Einfügedateien
suchen, die nicht mit einem absoluten
Pfad beginnen.
-l<Schlüssel> Angegebene Bibliotheksdatei
durchsuchen. Dabei wählt <Schlüssel>
die Datei lib<Schlüssel>.a aus.
-L<Verz> Sucht im Verzeichnis <Verz> nach
Dateien, die mit -l<Schlüssel>
angegeben wurden.
-o<Name> Benennt die ausführbare Datei
<Name> anstelle von a.out.
-O Optimiert den generierten Code.
-p Generiert einfachen Profilunterstützungscode.
-pg Generiert Profilunterstützungscode. Bietet
ausführlichere Profildaten als -p.
-P Vorverarbeitung ohne Umwandlung; Ausgabe geht
an die .i-Datei
-Q Inline-Ersetzung aller entsprechenden Funktionen.
-t<x> Präfix aus der Option -B für das angegebene Programm <x>,
verwenden; dabei gibt es für x folgende Möglichkeiten:
c = Compiler
a = Assembler
l = Linkage Editor.
-U<Name> Aufheben der Definition von Name aus der Anweisung #undef.
-v Anzeigen ausführlicher Informationen über den
Stand der Ausführungs durch den Compiler.
-w Unterdrücken reiner Informationsnachrichten,
sprachebenenbezogener Nachrichten und Achtung-Nachrichten.
-y<x> Angabe zum Auf-/Abrunden konstanter Gleitkommaausdrücke
zur Umwandlungszeit, wobei <x> für eine der
folgenden Angaben steht:
n = Runden auf den nächsten Wert
m = Runden gegen minus unendlich
p = Runden gegen plus unendlich
z = Runden gegen Null.
2. Andere Angaben:
Andere Angaben werden wie folgt angegeben:
-q<Angabe>
dabei ist <Angabe> ein Ein-/Aus-Schalter in der Weise, daß z. B.
bei Angabe x mit -qx die Angabe aktiviert und mit
-qnox inaktiviert wird. -qsource weist z. B. den Compiler
an, eine Quellenliste zu erstellen, bei -qnosource wird
dagegen keine Quellenliste erstellt.
Mit folgenden Angaben werden die Ausgangswerte des
Compilers überschrieben:
attr Erstellen einer Attributliste (nur
(Namen, zu denen Verweise vorliegen).
dbcs Zeichenkettenliterale und Kommentare
können Doppelbyte-Zeichen enthalten.
extchk Ausführen von Prüfungen externer Namen und
von Funktionsaufrufen.
list Erstellen einer Objektliste.
listopt Druckvorgaben aller Angaben in der Liste.
nofold Unterdrücken der Auswertund konstanter
Gleitkommaausdrücke zur Umwandlungszeit.
nomaf Unterdrücken der Generierung von
Multiplikations-/Additionsinstruktionen.
noprint Leiten der Liste an /dev/null.
noro Keine Zeichenkettenliterale werden in den
Nur-Lese-Bereich gestellt.
phsinfo Phaseninformationen werden am Bildschirm angezeigt.
rndsngl Strikte Einhaltung des IEEE-Standards, d. h.
alle Operationen an Werten einfacher Genauigkeit
produzieren auch Resultate mit einfacher
Genauigkeit.
rrm Angeben des Auf-/Abrundungsmodus zur
Ausführungszeit. Umwandlung mit dieser Angabe
Angabe ausführen, wenn der Rundungsmodus zur
Ausführungszeit gegen minus unendlich, gegen
plus unendlich oder nicht bekannt ist.
source Erstellen einer Quellenliste.
stat Angabe, daß statistische Werte über zeitlichen
Ablauf und Tabellengröße in der Liste enthalten
sein sollen.
xref Erstellen einer Querverweisliste (nur
(bei Namen, zu denen Verweise vorliegen).
-q<Option>=<Unteroption>
-q<Option>=<Unteroption1>:<Unteroption2>:...:<UnteroptionN>
dabei wird <Option> ein oder mehrere bestimmte
Unteroptionswerte wie folgt zugeordnet:
attr=full Erstellen einer Attributliste
(alle Namen, mit und ohne Verweise).
chars=signed
Das Datentypzeichen erhält ein Vorzeichen.
flag=<Grad1>:<Grad2>
Gibt den Schweregrad der in der Liste <sev1> und
am Bildschirm <sev2> zu meldenden
Diagnosenachrichten an.
halt=<Grad> Stoppen des Compilers nach der ersten Phase, wenn
Fehler festgestellt werden, die mindestens den
Schweregrad <Grad> aufweisen.
langlvl=<Sprachebene>
Angabe der Spachebene, die bei der Umwandlung
verwendet werden soll. Für <Sprachebene> kann
ansi, saal2, saa oder erweitert (extended)
angegeben werden.
pgmsize=<p>
Setzen der anfänglichen, vom Compiler zu
verwendenden Tabellengröße. Mögliche
Angaben für <p> sind s für small (klein)
und l für groß (large).
spill=<Größe>
Angabe der Größe des Reservebereichs für
die Registerzuordnung.
xref=full Erstellen einer Querverweisliste
(alle Namen unabhängig davon, ob auf
sie verwiesen wird oder nicht).
Hinweise zu einigen wichigen Optionen des Compilers
Gnu C, Unix-Version