RE: C: kontrola vstupní hodnoty do procedury preprocesorem.

Miroslav Draxal evik na volny.cz
Pondělí Červenec 9 21:19:43 CEST 2018


Rozvedu to:

#define AA 5

#define BB 10

 

#if A+10+B > 200

#             error "Cislo je moc velké"

#endif

UdelejNeco (A+10+B);

 

Sem míří moje otázka. UdelejNeco je procedura v knihovně. Volám jej
několikrát z main. To #if bych rád v knihovně ne v main, a aby to
vyhodnocoval preprocesor, ne program.

Snad je to popsáno správně.

 

From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Jaroslav
Buchta
Sent: Monday, July 09, 2018 8:19 PM
To: hw-list na list.hw.cz
Subject: Re: C: kontrola vstupní hodnoty do procedury preprocesorem.

 

Nevim jak to myslite, preprocesor je IMHO mocny nastroj jazyka C, ktery z
nej prave dela idealni jazyk pro psani programu prenositelnych na ruzne
platformy a pritom na nizke urovni.
Jen se musi pouzivat k ucelu, ke kteremu byl zamyslen...

Nechapu presne, co tazatel chce, jestli vyhodnoceni argumentu pro funkci ve
fazi prekladu, tak bych sel cestou modifikace algoritmu, aby to nebylo
potreba. 

Dne 09.07.2018 v 19:22 Ondrej napsal(a):

Zdravím

 

nemohlo by pár const statických "proměnných" a inline funkcí a assert udělat
stejnou práci. A lépe. C preprocesor je zlo a jeho použití nedává u
modernách překladačů většinou moc smysl.

 

O.

 

Dne 9.7.2018 v 11:41 Miroslav Draxal napsal(a):

Zdravím vespolek,

Lze nějakým šikovným zápisem kontrolovat vstupní hodnotu procedury
preprocesorem? Nic mě nějak nenapadá.

 

#define AA 5

#define BB 10

UdelejNeco (A+10+B);

 

Zkontrolovat preprocesorem, aby hodnota řekněme nebyla větší než 200.

Díky za pomoc, Míra






_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list







_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list

 

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20180709/65516c21/attachment.html>


Další informace o konferenci Hw-list