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
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.
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.
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
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
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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.