Software > Coding

Label bei C

(1/3) > >>

matashen:
Hallo zusammen,

ich brauche für eine Ausnahmesituation ein Label im C-Code. Das deklarieren mach ich meines Wissens mit
--- Code: ---Label1:
--- Ende Code ---

Aber wenn ich es aufrude mit

--- Code: ---Label1;
--- Ende Code ---

Dann bekomm ich ne Fehlermeldung. Wie ruf ich das auf???

Gruß Matthias

guest2291:
Erwartungsgemaesse Nutzung von Labels wird im ersten Treffer gezeigt. (goto)

matashen:
Hi,

Und wenn ich das so mache dasnn bekomm ich


--- Code: ---opoly.m65:8520:Error:'L311' undefined (first use)
1 undefinded local label(s) !
1 error(s) !
--- Ende Code ---

so viel zu deine Treffer  :P
So viel hab ich schon gewusst, nur das funzt so bei mir nicht...


Ich caste dabei von einem beliebigen Punkt im Programm zum Startpunkt. Das evtl das Problem ???

Gruß Matthias

guest2291:
Du castest in deinem Programm hin und her?  ???

Also, du hast sicherlich gelesen das man Labels eh nicht verwenden soll, also ueberlege dir lieber eine Loesung die ohne solche Spruenge auskommt.

Ggf. musst du fuer den verwendeten Compiler Besonderheiten beachten, die sich in der Anleitung zum selbigen finden lassen sollten?

Hast du in der "goto-Zeile" den Doppelpunkt versehentlich nochmal stehen?

matashen:
Es geht darum in nem Lynx ins Startmenü zu kommen. Ich hab nur noch wenige Bytes RAM und muss von verschiedenen Stellen des Spiels aus zum Startpunkt gelangen. Na was würdest du als Speichersparenste und einfachste Variante vorschlagen:
1. Alles in eine GROSSE Schleife packen und mittels abbruchbedingungen an jedem Abfragepunkt verhindern das was in verzweigungen abschweift, oder
2. Ein Goto zu dem Punkt setzen wo anschließend
reset_game_vars und dann Startmenu aufgerufen wird.

als dritte Variante gäbs da noch die möglichkeit einen Hardware-Soft-Reset über nen Assembler-Call auszulösen. Alternative falls goto nicht funzt, aber eigentlich wollte ich dem Spieler die Introscenen ersparen nur weil er ein neues Spiel beginnen will.

Ich kenne alle bedenken und alles für und wieder, aber in diesem Fall komm ich nur mit extremen Aufwand um das goto herum, ausser mit Reset.

Deswegen wollte ich eine Lösung das goto zum laufen zu bekommen und nicht eine Überzeugungsarbeit gegen das goto.

Gruß Matthias

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln