Category: криминал

nepal

[викторина] Си

Тут ко мне пришёл Ден aka oldbukh и стал морочить мне голову. Я, в свою очередь, решил поморочить её вам.

Задачка для насильника. В ядре есть удобная функция BUILD_BUG_ON, вот такая:

#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))


По понятным причинам, использовать её можно только внутри функции. Надобно написать такую же, но чтобы можно было использовать её и в глобальном контексте тоже. Мы пока знаем о трёх вариантах решения -- Ден решил так, я эдак, плюс ещё есть вариант, сочетающий в себе оба наших решения.

Ваши ответы в комменты, которые скринятся примерно до вечера четверга.
Update: все ответы открыл, новые комменты больше не скринятся.