[Allegro] 'ik,x' und '#ik,x A' [war: Absturz von A99]

Bernhard Eversberg ev at biblio.tu-bs.de
Mi Apr 6 11:09:42 CEST 2011


Am 06.04.2011 10:58, schrieb Fischer, Thomas:
> Hatten nicht Herr Berger und ich das damit erklärt, daß der
>> Absturz an dieser Stelle dadurch zu erklären ist, daß #cc
>> schlicht undefiniert ist und bei Ersetzung von '#cc' durch
>> '#ch' nicht mehr passiert?
> meine Exportparameter sind im wesentlichen
>
>
> ak=7.+A
> #+#
>
> #-A
> #cc +B i2,1
> #+#
> #+B
> #t{s0}
> #cc p'cc: ' P{C}
> #t{s4}
> #+#
>
>
> Wieso ist da #cc nicht definiert?
#cc wird nicht durch ak=... definiert, sondern nur durch eine Zeile,
die mit # anfängt. Mit ak=... kriegen Sie #ch.
"Nicht definiert" hieß in diesem Fall programmintern, daß die Adresse
der Zeichenfolge von #cc dann Null war, und das ist bei C und C++ nicht
gut. Jetzt ist sie nicht Null, sondern zeigt auf einen String mit der 
Länge 0.
In Wirklichkeit ist das bei C und C++ ein String mit der Länge 1, dessen
eines und einziges Zeichen aber der Code 0 ist, der jeden String beendet.
Diese Eigenheit teilt C meines Wissens nicht mit anderen Sprachen,
ausnahmsweise ist das jedenfalls nicht unsere Erfindung.

B.E.




Mehr Informationen über die Mailingliste Allegro