Länge von Variablennamen

Gast #179180
Lesenswert?

Was ANSI-C sagt, weiß ich gerade nicht.  Der ISO-Standard schreibt
folgende mindestens verstandenen Längen von Bezeichnern vor:

- 63 significant initial characters in an internal identifier or a
  macro name

- 31 significant initial characters in an external identifier

Das sind Mindestforderungen, d. h. mehr ist natürlich (aus
Compilersicht) standardkonform, ein portables Programm kann sich nur
nicht darauf verlassen, dass mehr als die genannten Zeichen auf jedem
beliebigen Compiler als signifikant angesehen werden.  Der Standard
besagt aber ausdrücklich, dass bei der Implementierung auf feste
Beschränkungen verzichtet werden soll, und GCC hält sich daran, d. h.
meines Wissens gibt es keine Beschränkung in der Länge mit Ausnahme
der Größe des Hauptspeichers.
Gast #179181
Lesenswert?

Hello again!

Ok, jetzt bin ich beruhigt.

Ich verwende nämlich der Lesbarkeit halber gerne aussagekräftige Namen.
Und die können auch mal länger als 16 Zeichen werden.

Ich hatte irgendwas im Hinterkopf, daß Variablennamen nach 8 oder 16
Zeichen abgeschnitten werden.
Ich wußte nur nicht mehr, ob das damals mit Basic, mit Pascal oder bei
C war :-)

Danke für die Antworten..
Jochen
Gast #179182
Lesenswert?

Hi

Es gibt beim Compiler bzw. Debugger eines großen US-amerikanischen
Softwarekonzerns das Problem das dieser keine Debugsymble mit mehr als
255 Zeichen erzeugen kann. Bei C ist das nicht weiter schlimm da wohl
niemand so lange Bezeichner verwendet. Bei C++ und vor allem im
Zusammenhang mit Templates erreicht man diese Grenze leider zu schnell.
Dann ist kein Debuggen der betreffenden Klassen mehr möglich :-(

Matthias
Gast #179183
Lesenswert?

Da fast* alle Softwarekonzerne, die groß sind und C-Compiler herstellen,
in den USA beheimatet sind, frag' ich mich doch, welchen Du meinen
magst ...

*) mir fällt so auff'n Plauz keiner ein, der's nicht ist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren