1 Naposledy upravil: MightyPork (2014-09-18 14:55:10)

Téma: [vyřešeno] Překladač neumí makro v makru

Tohle mě hodně zarazilo, proč to nefunguje?
Stačí jednoduchá rekurze s omezením počtu zanoření, to přece není problém implementovat!

Typický kód

// knihovna maker
#define SYS_RELE_1  sys[231]
#define SYS_RELE_2  sys[232]
#define SYS_RELE_3  sys[233]
#define SYS_RELE_4  sys[234]
#define SYS_RELE_5  sys[235]
#define SYS_RELE_6  sys[236]

// --- aplikace akvarium ---
#define VODA   SYS_RELE_1
#define FILTR  SYS_RELE_2
#define KRMENI SYS_RELE_3

main
{
    VODA = 1;
    //....
}

Chyba:

16: coding error : invalid declaration found !

*** Analyze done - Code is OK ***

Takže musím buď použít sys[???] v makrech VODA, FILTR..., nebo používat SYS_RELE_1 apod v aplikaci.

Je to drobnost, ale užitečná a měla by být doplněna / opravena.

Chcete #include, lepší makra, řídící struktury atd. v SDS-C? Nástroj SDSCP vám to umožní!

2

Re: [vyřešeno] Překladač neumí makro v makru

Toto je omezení SDS-C překladače.

Částečně odstraněno v aktuální verzi.

Řešením je zápis:

#define VODA sys[231]
Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

3

Re: [vyřešeno] Překladač neumí makro v makru

adamn napsal:

Toto je omezení SDS-C překladače.

Částečně odstraněno v aktuální verzi.

Řešením je zápis:

#define VODA sys[231]

To je mi jasné, proto jsem o tom psal - "omezení překladače", od kterého mám zdrojové kódy, není omezením. Stačí to opravit.

Chcete #include, lepší makra, řídící struktury atd. v SDS-C? Nástroj SDSCP vám to umožní!