Die Optionen in dieser Anzeige definieren die vom Compiler generierte
Ausgabe.
Erweiterte Hilfe für Dialogfenster enthält Informationen über die Einstellungen
*CMDDFT und Hilfe zu Druckknöpfen.
- Generierungsoptionen
-
- Berechtigung
- Gibt die Objektberechtigung für Benutzer an, die keine spezifische
Berechtigung für das Objekt besitzen. Der Benutzer ist unter Umständen
nicht in der Berechtigungsliste aufgeführt, oder seine Gruppe hat keine
spezifische Berechtigung für das Objekt. Sie können in diesem Feld
einen der folgenden Werte auswählen:
- *CMDDFT
- Bezieht sich auf die Objektberechtigung, die derzeit als Standardwert für
Ihr System definiert ist.
- *LIBCRTAUT
- Die allgemeine Berechtigung für das Objekt wird dem Schlüsselwort CRTAUT
der Zielbibliothek (der Bibliothek, die das erstellte Objekt enthält)
entnommen. Dieser Wert wird bei der Erstellung des Objekts
festgelegt. Ändert sich der Wert CRTAUT für die Bibliothek nach der
Objekterstellung, hat dieser neue Wert keine Auswirkung auf bereits vorhandene
Objekte.
- *ALL
- Erteilt die Berechtigung für alle Objektoperationen, mit Ausnahme der
Operationen, die auf den Eigner beschränkt sind oder die über die Berechtigung
zum Verwalten der Berechtigungsliste gesteuert werden. Jeder Benutzer
kann die Existenz des Objekts steuern, seine Sicherheit festlegen und
Basisfunktionen für das Objekt ausführen, aber nicht das Eigentumsrecht
übertragen.
- *CHANGE
- Erteilt alle Datenberechtigungen sowie die Berechtigung zur Ausführung
aller Objektoperationen, mit Ausnahme der Operationen, die auf den Eigner
beschränkt sind oder die von der Objektberechtigung und der
Objektverwaltungsberechtigung gesteuert werden. Das Objekt kann
geändert werden und es können Basisfunktionen für das Objekt ausgeführt
werden.
- *EXCLUDE
- Benutzer ohne Sonderberechtigung haben keine Zugriffsberechtigung für das
Objekt.
- *USE
- Erteilt Objektverwendungsberechtigung, Leseberechtigung und die
Berechtigung für Basisoperationen an dem Objekt. Benutzer ohne
spezifische Berechtigung können das Objekt nicht ändern.
- Ziel-Release
- Gibt den Release-Stand des Betriebssystems für das zu erstellende Objekt
an. Sie können in diesem Feld einen der folgenden Werte
auswählen:
- *CMDDFT
- Bezieht sich auf den Release-Stand, der derzeit als Standardwert für Ihr
System definiert ist.
- *CURRENT
- Das Objekt, das kompiliert wird, soll auf einem Betriebssystem verwendet
werden, das denselben oder einen höheren Release-Stand aufweist als das
Betriebssystem, das derzeit auf Ihrem System läuft. Hat beispielsweise
das kompilierende System den Release-Stand V2R3M5, wird durch Auswahl dieser
Option ein Objekt erzeugt, das auf einem System ausgeführt werden kann, auf
dem der Release-Stand V2R3M5 oder höher installiert ist.
- *PRV
- Das Objekt, das kompiliert wird, soll auf einem Betriebssystem verwendet
werden, das eine Stufe niedriger ist als das Betriebssystem, das auf dem
kompilierenden System verwendet wird. Hat beispielsweise das
kompilierende System den Release-Stand V2R3M5, wird durch Auswahl dieser
Option ein Objekt erzeugt, das auf einem System ausgeführt werden kann, auf
dem der Release-Stand V2R2 oder höher installiert ist.
Sie können auch den Zielreleasestand unmittelbar in dieses Feld
eingeben. Geben Sie das Release im Format
xRxMx an; dabei gibt x die Version,
Rx das Release, und Mx die Modifikationsstufe an.
Beispiel: V4R3M0 steht für Version 4, Release 3, Modifikationsstufe
0.
- Optimierung
- Gibt an, welche Optimierungsstufe auf das kompilierte Objekt angewendet
wird. Sie können in diesem Feld einen der folgenden Werte
auswählen:
- *CMDDFT
- Bezieht sich auf die Optimierungsstufe, die derzeit als Standardwert für
Ihr System definiert ist.
- 10
- Der generierte Code wird nicht optimiert. Diese Stufe führt zur
kürzesten Kompilierzeit.
- 20
- Bestimmte Optimierungsvorgänge werden für den generierten Code
ausgeführt.
- 30
- Alle Optimierungsvorgänge werden für den Code ausgeführt.
- 40
- Alle Optimiierungen auf der Stufe 30 werden für den generierten
Code ausgeführt. Zusätzlich wird der Code aus Prozedurprolog- und
-epilogroutinen entfernt, die die Systemfunktionen Anweisungsablaufverfolgung
und Aufrufablaufverfolgung aktivieren. Durch das Entfernen dieses Codes
wird die Erstellung von Blattprozeduren aktiviert. Blattprozeduren
enthalten keine Aufrufe an andere Prozeduren, und Prozeduraufrufe an
Blattprozeduren sind erheblich schneller als Aufrufe an normale
Prozeduren.
- Enum-Größe
- Gibt an, wieviel Speicher enum einnimmt. Sie können in diesem Feld
einen der folgenden Werte auswählen:
- *CMDDFT
- Verwendet die enum-Größe, die derzeit als Standardwert für Ihr System
definiert ist.
- 1
- Die Größe aller enum-Variablen wird auf 1 Byte gesetzt.
- 2
- Die Größe aller enum-Variablen wird auf 2 Byte gesetzt.
- 4
- Die Größe aller enum-Variablen wird auf 4 Byte gesetzt.
- *INT
- Verwenden Sie die ANSI C++ Standard-enum-Größe (4 Byte mit Vorzeichen), es
sei denn, der Aufzählungswert ist > 231-1).
- *SMALL
- Wählt die kleinste Größe aus, die die enum-Variable aufnehmen kann.
- Speichermodell
- Gibt die Art des Speichers (fest oder dynamisch) an, den das Modulobjekt
verwenden wird. Sie können in diesem Feld einen der folgenden Werte
auswählen:
- *CMDDFT
- Bezieht sich auf die enum-Größe, die derzeit als Standardwert für Ihr
System definiert ist.
- *SNGLVL
- Das Modul oder Programm verwendet das traditionelle Speichermodell *SNGLVL
(Single Level Storage). Fester und dynamischer Speicher für das Objekt
werden aus Speicher einer Ebene zugeordnet; der Zugriff auf den Speicher
kann nur über 16-Byte-Zeiger erfolgen. Das Modul kann wahlweise auf
dynamischen Teraspace-Speicher zugreifen, wenn die Option TERASPACE(*YES)
angegeben ist.
- *TERASPACE
- Das Modul oder Programm verwendet das Teraspace-Speichermodell.
Dieses Speichermodell stellt für einen einzigen Job bis zu 1 Terabyte lokalen
Adressraum zur Verfügung. Fester und dynamischer Speicher für das
Objekt werden aus Teraspace zugeordnet; der Zugriff auf den Speicher kann
über 8-Byte- oder 16-Byte-Zeiger erfolgen.
- Benutzerprofil
- Gibt das Benutzerprofil an, das verwendet wird, wenn das kompilierte
Programmobjekt ausgeführt wird, einschließlich der Berechtigung, die das
Programmobjekt für jedes einzelne Objekt besitzt. Das Profil des
Programmeigners oder Programmbenutzers wird verwendet, um zu steuern, welche
Objekte vom Programmobjekt verwendet werden können.
Sie können in diesem Feld einen der folgenden Werte auswählen:
- *CMDDFT
- Bezieht sich auf das Benutzerprofil, das derzeit als Standardwert für Ihr
System definiert ist.
- *USER
- Es wird das Profil des Benutzers verwendet, der gerade das Programmobjekt
ausführt.
- *OWNER
- Bei der Verarbeitungszeit des Programmobjekts werden die gemeinsamen
Objektberechtigungsgruppen in den Benutzerprofilen des Programmeigners und
Programmbenutzers verwendet, um Objekte zu suchen und darauf
zuzugreifen. Objekte, die vom Programm erstellt werden, sind Eigentum
des Programmbenutzers.
- Standardzeichenart
- Ist dieses Markierungsfeld ausgewählt, behandelt der Compiler Zeichen
(char) als Wert mit Vorzeichen. Andernfalls wird
char als Wert ohne Vorzeichen behandelt.
- Profildaten
- Ist dieses Markierungsfeld ausgewählt, wird die Programmprofilierung für
das zu kompilierende Programm oder Modul eingeschaltet. Es wird Code
generiert, der bei der Objekterstellungszeit Profildaten erfaßt,
einschließlich der Angaben, wie oft Basisblöcke innerhalb von Prozeduren
ausgeführt und wie oft Prozeduren aufgerufen werden. Durch die
Profilierung kann die Verwendung von Cache-Zeilen und Speicherseiten in
ILE-Anwendungen verbessert werden. Dies führt zu einer besseren
Programmleistung.
Anmerkungen:
- Eigenständige *MODULE-Objekte können nicht profiliert werden.
- Diese Option ist nur dann wirksam, wenn die folgenden Optionen in der
Anzeige Generierungsoptionen ebenfalls aktiviert sind:
- Optimierung ist auf *FULL, 30 oder höher
eingestellt.
- Ziel-Release ist auf *CURRENT eingestellt.
- Teraspace-Optionen
-
- Teraspace-Speicheradressen
- Ist dieses Markierungsfeld ausgewählt, generiert der Compiler Code, der
Teraspace-Speicheradressen handhaben kann, einschließlich der Parameter, die
von anderen Teraspace- und Serviceprogrammen übergeben werden. Durch
Auswahl dieses Markierungsfelds werden auch folgende Markierungsfelder
aktiviert:
- Teraspace-Speicherfunktionen
- Ist dieses Markierungsfeld ausgewählt, verwendet der Compiler
Teraspace-Versionen von Speicherfunktionen, wie z. B.
malloc oder schmat, ohne daß Änderungen am
Programmquellencode erforderlich sind. Der Compiler definiert das Makro
__TERASPACE__ und ordnet bestimmte Speicherfunktionsnamen ihren für Teraspace
aktivierten Äquivalenten zu. Die Auswahl dieser Compileroption führt
beispielsweise dazu, dass die Speicherfunktion malloc() der
Funktion _C_TS_malloc() zugeordnet wird.
Ist dieses Markierungsfeld nicht ausgewählt, verwendet der
Compiler keine für Teraspace aktivierten Versionen von
Speicherfunktionen, wie beispielsweise malloc() oder
schmat().
- Schablonenoptionen
-
- Temporäres Include-Verzeichnis
- Diese Auswahl gibt an, wo Schablonen, die im Rahmen der automatischen
Schablonenexemplarerstellung erstellt werden, gespeichert werden. Die
folgenden Optionen stehen zur Verfügung:
- *CMDDFT
- Schablonenexemplarerstellungsdateien werden in eine Verzeichnisposition
gestellt, die derzeit als Standardwert für Ihr System definiert ist.
- Verzeichnispfadname
- Schablonenexemplarerstellungsdateien werden in eine von Ihnen angegebene
Verzeichnisposition gestellt. Den erstellten
Schablonenexemplarerstellungsdateien ist der Stammname der Header-Datei
zugeordnet, in der die Schablone gefunden wurde, sowie die
Dateinamenerweiterung .C. Sind bereits
Schablonenexemplarerstellungsdateien vorhanden, durchsucht der Compiler diese
Dateien, um festzustellen, ob eine bestimmte Schablonenexemplarerstellung
bereits vorhanden ist, bevor sie einer Exemplarerstellungsdatei hinzugefügt
wird.
Der Verzeichnispfad kann relativ zum aktuellen Verzeichnis oder ein
absoluter Verzeichnispfad sein. Ist das angegebene Verzeichnis nicht
vorhanden, wird es erstellt. Es tritt jedoch eine Fehlerbedingung auf,
wenn der angegebene Verzeichnispfad ein Verzeichnis enthält, das nicht
vorhanden ist, beispielsweise /source/subdir1/tempinc, wenn subdir1 nicht
vorhanden ist.
- Maximale Anzahl generierter Header
- Gibt die maximale Anzahl Schablonen-Include-Dateien an, die für jede
Header-Datei generiert werden soll.
- Schablonengültigkeitsprüfung
- Gibt an, welche Stufe von Gültigkeitsprüfung auf die Schablonen angewendet
werden soll. Die folgenden Optionen können angegeben werden:
- *CMDDFT
- Die Gültigkeit von Schablonen wird gemäß dem für Ihr System definierten
Standardwert geprüft.
- *NO
- Die Gültigkeit von Schablonenimplementierungen wird nicht geprüft.
- *WARN
- Für Schablonenimplementierungen wird eine Syntaxanalyse durchgeführt und
bei Semantikfehlern werden Warnungen ausgegeben.
- *ERROR
- Fehler in Schablonenimplementierungen werden selbst dann als Fehler
betrachtet, wenn für die Schablone kein Exemplar erstellt wird.
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.