このコードが何をするつもりなのか、またはこの構文がどのように avr-gcc の下でコンパイルできるのか教えてください。これは、NanoVM ソース コードから取得したコードで、avr atmega128rfa1 用にコンパイルしたものです。
// ファイル自体のバッファは eeprom にあります
ifdef NVM_USE_FLASH_PROGRAM
static u08_t nvmfile[CODESIZE] PROGMEM =
#include "nvmdefault.h"
#else
static u08_t EEPROM nvmfile[CODESIZE] =
#include "nvmdefault.h"
#endif
これを -DNVM_USE_FLASH_PROGRAM でコンパイルしていないことに注意してください