Länge von Variablennamen

Gast
255 Zeichen ist AFAIK die Grenze, die im C-Standard genannt wird. Ein
Compiler darf natürlich auch längere Variablennamen zulassen, nur ists
dann nicht mehr kompatibel zu ANSI-C.
Gast
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
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
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
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.
Gast
Vielleicht haben sie auch einfach nur das Problem, dass in deren
altertümlichen Objektformat in der Debug-Info keine längeren
Symbolnamen untergebracht werden können?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.