Способы выражения ASSERT во время сборки в C

Есть статья автора Ralf Holly, который static-assert исследует различные варианты assert статических утверждений в refactor C.

Он представляет три разных assert подхода:

  • значения регистра переключения должны быть уникальными.
  • массивы не должны иметь отрицательных размеров.
  • деление на ноль для постоянных выражений

Его вывод о лучшей refactor реализации таков:

#define assert_static(e) \
    do { \
        enum { assert_static__ = 1/(e) }; \
    } while (0)

c

refactoring

assert

static-assert

2022-11-19T04:27:54+00:00