Vladimir Ljaschko (23.08.2010 13:39, просмотров: 66) ответил fk0 на На счёт возможных ошибок -- надумано. warning или error дают все компиляторы. Зато нарушается принцип "не плодить сущностей сверх необходимого", что ведёт к бардаку, говнокоду и ошибкам. И программисту не видно в *.c переменной -- размазывается код по
Препроцессор, при всех его опасностях, существенно систематизирует проект. Использую, много, говнокод такой симпатишный получается:)например Определение областей в ЕЕПРОМ выглядит так
// EEPROM areas
// type_name var_name qty mask name
BACKUP_AREA (SETUP, se, 2, SETUP_MASK, "Setup ")
BACKUP_AREA (STATISTIC, stat, 1, STATISTIC_MASK, "Statis ")
BACKUP_AREA (TIMES, times, 1, TIMES_MASK, "Times ")
#ifdef TYPE_K
BACKUP_AREA (CALIBR, calibr, 1, CALIBR_MASK, "Calibr ") // last group
#endif
BACKUP_AREA (DEVICE, device, 1, DEVICE_MASK, "Device ")
BACKUP_AREA (TURNON, turnon, 1, TURNON_MASK, "Turn on")
BACKUP_AREA (PROCESS, process, 100, PROCESS_MASK, "Process")
BACKUP_AREA (LOG, log, 20, LOG_MASK, "Logs ")
BACKUP_AREA (CONSUMPTION, consumption, 160, CONSUMPTION_MASK, "Consum ")