AVR-GCC a expanze makro

Marek Pavlu pavlu@hwg.cz
Středa Prosinec 7 15:05:21 CET 2005


Zdravim, 

No nevim, ale me se nejak tyhle vymozenosti gcc proste prici. 
Ono to nejak nemá s ANSI C jiz nic spolecneho a pak s tim pri pripadnem
prechodu na jiny kompiler a nebo v uplne jinem zdrojaku, který napisete
prave s temito vymozenostmi, budete mit potize:(.

Faktem je, ze v avr-gcc pisu a obcas tento nestandardni postp i pouziji, ale
vzdy jen jako debug rezim kodu, coz po odladeni je vetsinou jiz
nepotrebne...


S pozdravem, 
                Marek Pavlu 

//  -----Original Message----- 
//  From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] On 
//  Behalf Of Hynek Sladky 
//  Sent: Wednesday, December 07, 2005 8:50 AM 
//  To: HW-news 
//  Subject: Re: AVR-GCC a expanze makro 
//  
//  Neslo. Na zacatku programu mam totiz neco takoveho: 
//  
//  #define     LED PORTA, 0 
//  #define     BUZZER PORTA, 1 
//  #define     RELE PORTA, 2 
//  
//  Uz jsem nasel tri moznosti, jak by to melo fungovat, lec pro me 
//  pouzitelna je jen jedna (jedna se v avr-gcc preklada spatne, druha je 
//  slozitejsi na nadefinovani): 
//  
//  #define     pinset__(port,bit) port|=(1<<bit) 
//  #define     pinset(...) pinset__(__VA_ARGS__) 
//  
//  V kodu pak muzu psat: 
//  
//     pinset (LED); 
//     pinset (BUZZER); 
//  
//  
//  Hynek Sladky 
//  
//  
//  Zdenek Janis wrote: 
//  > a takhle by to neslo? 
//  > 
//  > #define   mujport PORTA 
//  > #define   mujpin  0 
//  > 
//  > #define   pinset(bit) mujport |= (1<<bit) 
//  > 
//  > void fnc() { 
//  >   pinset(mujpin); 
//  > } 
//  > 
//  > 
//  > Hynek Sladky wrote: 
//  > 
//  >>#define   pinset(port,bit) port |= (1<<bit) 
//  >>#define   mujpin  PORTA, 0 
//  >> 
//  >>funkce () { 
//  >>   pinset (mujpin); 
//  >>} 
//  >> 
//  >>Prekladac ale hlasi: 
//  >>eval.c:87:13: macro "pinset" requires 2 arguments, but only 1 given 
//  >>eval.c: In function `funkce': 
//  >>eval.c:87: error: `pinset' undeclared (first use in this function) 
//  > 
//  > 
//  _______________________________________________ 
//  HW-list mailing list  -  sponsored by www.HW.cz 
//  Hw-list@list.hw.cz 
//  http://list.hw.cz/mailman/listinfo/hw-list 



  _____  

avast! Antivirus <http://www.avast.com>  : Odchozi zprava cista. 


Virova databaze (VPS): 0549-2, 06.12.2005
Testovano: 7.12.2005 15:05:20
avast! - copyright (c) 2000-2003 ALWIL Software.






Další informace o konferenci Hw-list