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