Forum: Compiler & IDEs Länge von Variablennamen


von Jochen Greß (Gast)


Lesenswert?

Hallo!

Da ich anscheinend zu blöd (?) zum suchen bin, frage ich einfach mal
ganz dumm..

Wie lang dürfen die Namen von Variablen beim avr-gcc sein?

Gruß..
Jochen

von Thomas (Gast)


Lesenswert?

Länger als du deine Variablen überhaupt je benamsen möchtest.

von Chris (Gast)


Lesenswert?

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.

von Jörg Wunsch (Gast)


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.

von Jochen Greß (Gast)


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

von Matthias (Gast)


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

von Rufus T. Firefly (Gast)


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.

von Matthias (Gast)


Lesenswert?

Hi

M$

Matthias

von Jörg Wunsch (Gast)


Lesenswert?

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?

von Matthias (Gast)


Lesenswert?

Hi

für mich als Programmierer ist das zweitrangig wo denn jetzt das
Problem genau liegt. Es ist einfach nur extrem ärgerlich.

Matthias

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.