[elektro] C mégegyszer (SWITCH)
SZIGETI Szabolcs
szigi at ik.bme.hu
Wed Apr 7 13:53:49 CEST 2010
Hali!
A goto-val semmi baj. Viszont szerintem ha még valaha bele akarsz nyúlni a
kódba, akkor ne csinálj ilyen varázslásokat. Én már régóta az gondlom, hogy
manapság kódot nem elsősorban írunk, hanem olvasunk. (Én pl. törekszem arra,
hogy a switchben minden case utáb legyen break, mert úgy logikus és
áttekinthető a működése. Ha mégis, akkor hatalmas kommentben írom, hogy
átcsorgás van.)
A mostani optimalizáló fordítók úgyis jobb kódot csinálnak (általában), mint
amiket mindenféle trükközéssel tudunk kézzel (sőt, a szabvány megoldásokat
nagyobb eséllyel optimalizálják), viszont ha neked, vagy bárki másnak később
bele kell nyúlni akár hibakeresés, akár továbbfejlesztés céljából,
beleőrülhetsz, mire kibogozod, hogy egy fél éve mit írtál.
Szabolcs
--------------------------------------------------
From: "hg12345" <hg12345 at freemail.hu>
Sent: Wednesday, April 07, 2010 11:39 AM
To: <elektro at tesla.hu>
Subject: [elektro] C mégegyszer (SWITCH)
> Hi!
>
> Létezik C-s megoldás a SWITCH-en belül egy ág végrehajtása után egy
> meghatározott CASE ágon folytassa a program a futását?
>
> switch(a){
> case 1:
> break;
>
> case 4:
> printf("4");
> goto "DEFAULT";
> case 8:
> break;
>
> case 38:
> printf("38");
>
> default:
> a=0;
> break;
> };
>
> Nem ez a program, de a default ágban van a programnak defenziv része, azok
> az ágak amik befejeződtek, itt szeretném befejezni.
>
> Az automatikusan definiált ASM címkékkel nem lehet mit kezdeni .Lxxx nem
> egyértelmű a megnevezése
>
> Természetesen megoldható egy plusz CIMKE bevezetésével, de egy C szerű
> megoldásnak jobbak örülnék.
>
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list