Mit den folgenden Optionen kann bei der Übersetzung des Moduls, das die main
-Funktion enthält, das Laufzeitverhalten des Programms beeinflusst werden. Bei der Übersetzung anderer Module haben diese Optionen keinen Effekt.
-K
arg1[,arg2...]
Allgemeine Eingaberegeln zur -K
-Option finden Sie im Abschnitt "Aufruf-Syntax und allgemeine Regeln".
Als Argumente arg zur Steuerung des Laufzeitverhaltens sind folgende Angaben möglich:
integer_overflow
no_integer_overflow
-K integer_overflow
(Voreinstellung)
Standardmäßig ist die Programmaske gemäß ILCS-Konvention auf X‘0C‘ gesetzt.
-K no_integer_overflow
Die Programmaske wird auf X’00’ eingestellt.
Die beiden Programm-Masken haben folgende Wirkung:
X‘0C‘ | X‘00‘ | |
Festpunkt-Überlauf | zugelassen | unterdrückt |
Dezimal-Überlauf | zugelassen | unterdrückt |
Exponenten-Unterlauf | unterdrückt | unterdrückt |
Mantisse Null | unterdrückt | unterdrückt |
Hinweise
Bei Sprachmix darf die ILCS-Programmaske nicht verändert werden!
Die Auswahl der generierten Befehle ist nicht von der Option -K integer_overflow
beeinflusst. Daher bedeutet das Zulassen von INTEGER-OVERFLOW nicht, dass in jedem Fall ein Überlauf ausgelöst wird.
prompting
no_prompting
-K prompting
(Voreinstellung)
Bei Aufruf des Programms aus der BS2000-Umgebung (SDF) wird eine Prompting-Zeile ausgegeben, in der Parameter an die main
-Funktion oder Umlenkungen der Standard-Ein-/Ausgabeströme angegeben werden können.
-K no_prompting
Die Ausgabe der Prompting-Zeile wird unterdrückt.
Bei Programmstart aus der POSIX-Shell hat diese Option keine Bedeutung, da in diesem Fall die Parameter immer in der Aufrufzeile angegeben werden.
statistics
no_statistics
-K statistics
(Voreinstellung)
Bei Beendigung eines mit dieser Option generierten Programms wird die verbrauchte CPU-Zeit ausgegeben. Dies geschieht jedoch nur, wenn das Programm ins BS2000 transferiert und dort gestartet wird.
-K no_statistics
Die Ausgabe der verbrauchten CPU-Zeit wird unterdrückt.
stacksize=
n
Mit der Option -K stacksize
kann durch Angabe einer Zahl n (8 bis 99999) festgelegt werden, wie viele Kilobytes für das erste Segment des C-Laufzeitstacks reserviert werden sollen. Voreingestellt sind 64 Kilobytes.
environment_encoding_std
environment_encoding_ebcdic
Durch diese Optionen kann die Kodierung von externen Zeichenketten, wie Argumenten von main
und Umgebungsvariablen, gesteuert werden.
–K environment_encoding_std
(Voreinstellung).
Die externen Zeichenketten werden so kodiert, wie es bei den Optionen –K literal_encoding_ascii
, –K literal_encoding_ascii_full
,
bzw. –K literal_encoding_ebcdic
angegeben wurde (siehe "Gemeinsame Frontend-Optionen in C und C++").–K literal_encoding_ebcdic_full
–K environment_encoding_ebcdic
Diese Option wird aus Kompatibilitätsgründen angeboten. Trotz der Angabe von –K literal_encoding_ascii
bzw. –K literal_encoding_ascii_full
werden externe Zeichenketten in EBCDIC kodiert.
Folgende Tabelle verdeutlicht die Optionskombinationen und die Kodierung der externen Zeichenketten:
environment_encoding_std | environment_encoding_ebcdic | |
literal_encoding_ebcdic* | EBCDIC | EBCDIC |
literal_encoding_ascii* | ASCII | EBCDIC |