Работа с группами линий ввода-вывода на Си (без плюсов)

В процессе написания статьи по препроцессору Си я понял многое о его механизме работы и возможностях. Мне стало интересно, возможно ли реализовать групповые операции с линиями ввода-вывода, как это сделано тут с помощью препроцессора на обычном Си.



Здесь начинается препроцессорная жесть

Препроцессор C

Си препроцессор представляет собой макро язык, который используется для преобразования программы до того как она будет скомпилирована. Причем сама программа может быть не обязательно на Си, она может быть на С++, Objective-C или даже на ассемблере. В общем препроцессор представляет собой примитивный как-бы функциональный язык, с помощью которого можно делать вполне интересные вещи.


Читать дальше