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

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pondělí Červenec 9 21:29:11 CEST 2018


Uz podruhe mne mate jak AA a BB prechazi na A a B - ale mozna jsem to 
jen nepochopil...
Obecne to IMHO nejde, protoze jako argument muzete predt treba 
UdelejNeco(*((uint32_t*)1234)); a preprocesor je v ...

Dne 09.07.2018 v 21:19 Miroslav Draxal napsal(a):
>
> 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 bywww.HW.cz <http://www.HW.cz>
>
>         Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>
>         http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
>
>     _______________________________________________
>
>     HW-list mailing list  -  sponsored bywww.HW.cz <http://www.HW.cz>
>
>     Hw-list na list.hw.cz <mailto: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/b2dddae5/attachment.html>


Další informace o konferenci Hw-list