next up previous
Nächste Seite: Zeichenkettenverkettung: Aufwärts: Zeichenketten Vorherige Seite: Das Abschlusszeichen 0C:

Speicherung der Zeichenketten:

Es werden nur die Zeichenketten im Konstantenbereich abgelegt, die tatsächlich benutzt werden. Sind in einem Definitionsmodul Zeichenkettenkonstanten deklariert, werden sie in der Objektdatei auf jeden Fall abgelegt, da hierbei natürlich nicht festgestellt werden kann, ob die Zeichenketten jemals benutzt werden.

Die Ablage der Konstanten im Datenbereich erfolgt optimiert. Endet eine neu abzulegende Zeichenkette gleich wie eine bereits bestehende und ist eine gerade Anzahl Zeichen von deren Anfang entfernt, wird nur eine Referenz auf die bestehende Teilzeichenkette generiert. So wird kein weiterer Speicher benötigt.


\begin{example}
Beispiel: Existiert bereits die konstante Zeichenkette ,,{\tt ve...
... \uml {u}bel}\lq\lq  auf einer ungeraden Adresse zu
liegen k\uml {a}me.
\end{example}

Ausser in Definitionsmoduln ist für die Optimierung nicht die Reihenfolge der Deklaration, sondern die der Benutzung entscheidend.



Claudio Nieder 2000-11-12