> Случаи разные и их много, согласен. Не буду же я все варианты придумывать-перечислять )А вот Оберхамер прямо примерно это в коде и сделал ifdef'ами, злыдень. Поэтому так-то либы довольно клевые, от профи к тому же. Но вот руками это трогать почему-то все сыковали. Перестарался гуру малость с винтажными экзотами :). Впрочем, эта штука в NASAвском марсоходе вроде как - и кто его знает какие там платформы актуальны, наверное и достаточно кривые и винтажные, RAD-hard чипы в принципе весьма консервативные.
>> А LZO - экранов 10 странного месива, которое без препроцессинга вообще хрен одуплишь.
> Значит, лениво писали или свитерно-бородатый однофайловый проект )
И то и другое и можно без хлеба. FXJ Oberhumer так-то весьма крутой прогер. Но, вот, переклин на поддержке вообще всего что шевелится, и чтоб быстро, в том числе и с очень маргинальными и кривыми компилерами - свое черное дело все же сделали и код состоит из ifdef'ов чуть более чем полностью. Это на самом деле достаточно ... нетипичный подход. Показывающий что любую даже самую безобидную идею можно довести до уровня когда насчет "безобидной" можно будет поспорить. Там настолько обложено ifdef'ами что вот тупо трекинг логики алгоритма в бошке срывается при попытке его осознать. И пока я пытался понять какой из десяти вариантов мне было надо я уже слегка потерял осталной контекст...
> Нет, нет. Это лишь описательный скрипт. Просто пример того как на практике
> может пригодиться то, что обычно зовут не иначе чем макробесие. )
Так то я с препроцессором тоже нехило развлекся. Хоть и считается что это фу-фу, но местами все же клево получается, ну вон макро считает аргументы вариадик макро, и потом генерит имя вызываемого. А вон там - еще и чекает аргументы. Идея последнего подсмотрена в линуховом ядре, кстати. Они тоже макросы любят и имеют на то основания.