Macro shots ...
C, , ( , , , ).
, , .
, , .
, - , - 4 . .
typedef class name
name
TYPE_DEF_OBJECT(name, class, constructor_params) TYPE5
TYPE_DEF_END(name, class, constructor_params)
TYPE4_
TYPE_DEF_OBJECT(name, class, constructor_params) TYPE4
TYPE_DEF_END(name, class, constructor_params)
TYPE3_
TYPE_DEF_OBJECT(name, class, constructor_params) TYPE3
TYPE_DEF_END(name, class, constructor_params)
TYPE2_
TYPE_DEF_OBJECT(name, class, constructor_params) TYPE2
TYPE_DEF_END(name, class, constructor_params)
TYPE1_
TYPE_DEF_OBJECT(name, class, constructor_params) TYPE1
TYPE_DEF_END(name, class, constructor_params)
TYPE0_
name
RUN_DEF_OBJECT(name, class, constructor_params) RUN5
RUN_DEF_END(name, class, constructor_params)
RUN4_
RUN_DEF_OBJECT(name, class, constructor_params) RUN4
RUN_DEF_END(name, class, constructor_params)
RUN3_
RUN_DEF_OBJECT(name, class, constructor_params) RUN3
RUN_DEF_END(name, class, constructor_params)
RUN2_
RUN_DEF_OBJECT(name, class, constructor_params) RUN2
RUN_DEF_END(name, class, constructor_params)
RUN1_
RUN_DEF_OBJECT(name, class, constructor_params) RUN1
RUN_DEF_END(name, class, constructor_params)
RUN0_
TYPE definitions \
RUN definitions \
DEF_OBJECTS(
(OBJECT, Object1, CClass1, ("par1"))
(END, , , )
)