[викторина] Си
Тут ко мне пришёл Ден aka
oldbukh и стал морочить мне голову. Я, в свою очередь, решил поморочить её вам.
Задачка для насильника. В ядре есть удобная функция BUILD_BUG_ON, вот такая:
По понятным причинам, использовать её можно только внутри функции. Надобно написать такую же, но чтобы можно было использовать её и в глобальном контексте тоже. Мы пока знаем о трёх вариантах решения -- Ден решил так, я эдак, плюс ещё есть вариант, сочетающий в себе оба наших решения.
Ваши ответы в комменты, которые скринятся примерно до вечера четверга.
Update: все ответы открыл, новые комменты больше не скринятся.
Задачка для насильника. В ядре есть удобная функция BUILD_BUG_ON, вот такая:
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
По понятным причинам, использовать её можно только внутри функции. Надобно написать такую же, но чтобы можно было использовать её и в глобальном контексте тоже. Мы пока знаем о трёх вариантах решения -- Ден решил так, я эдак, плюс ещё есть вариант, сочетающий в себе оба наших решения.
Ваши ответы в комменты, которые скринятся примерно до вечера четверга.
Update: все ответы открыл, новые комменты больше не скринятся.