Has anyone done cross-platform coding for Arduino and could share some best-
pratices?

I've just noticed that a great deal of our code has #ifdef  ARDUINO just so 
some functions or variables are declared with PROGMEM. 

For example (simplified, from oclogger.h):

#ifndef ARDUINO
void OICLogBuffer(LogLevel level, const char * tag, const uint8_t * buffer, 
uint16_t bufferSize);
#else
void OICLogBuffer(LogLevel level, PROGMEM const char * tag, const uint8_t * 
buffer, uint16_t bufferSize);
#endif

The use of a macro seems to point to a coding practice of just #define'ing it 
to empty on other systems. Do other projects do that? Is that recommended?

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

Reply via email to