Я хотел бы реализовать "assert", который предотвращает компиляцию, а не неудачу во время выполнения, в случае ошибки.
В настоящее время у меня есть такой определенный, как этот, который отлично работает, но который увеличивает размер двоичных файлов.
#define MY_COMPILER_ASSERT(EXPRESSION) switch (0) {case 0: case (EXPRESSION):;}
Пример кода (который не удается скомпилировать).
#define DEFINE_A 1
#define DEFINE_B 1
MY_COMPILER_ASSERT(DEFINE_A == DEFINE_B);
Как я могу реализовать это, чтобы он не генерировал никакого кода (чтобы минимизировать размер генерируемых двоичных файлов)?