c-kod

Fanda hudaklan na volny.cz
Pátek Únor 10 08:21:09 CET 2017


Dobrý den,
pro inspiraci a poučení se snažím projít program (BaseFlight)
a není mi jasné, co dělá tato část.

#define ASSERT_CONCAT_(a, b) a##b
#define ASSERT_CONCAT(a, b) ASSERT_CONCAT_(a, b)
#define ct_assert(e) enum { ASSERT_CONCAT(assert_line_, __LINE__) = 
1/(!!(e)) }

#define FLASH_PAGE_SIZE                 ((uint16_t)0x400)
#define CONFIG_SIZE                     (FLASH_PAGE_SIZE * 2)

void initEEPROM(void)
{
  ct_assert(sizeof(mcfg) < CONFIG_SIZE);         //! make sure (at 
compile time) that config struct doesn't overflow allocated flash pages
}

Jde hlavně o první 3 řádky.
Díky za vysvětlení.
HUDA



Další informace o konferenci Hw-list