[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
В Си я делал через #define
Получается немного по-извращенски, но работает
//Задаются исп. модули
#define CLASS1 UART
#define CLASS2 SPI
#define callf_ph(ph, f) ph##::f()
#define init_ph(ph) callf_ph(ph, init)
#define run_ph(ph) callf_ph(ph, run);
#ifndef CLASS1
#define CLASS1 VOID_CLASS
#endif
#ifndef CLASS2
#define CLASS2 VOID_CLASS
#endif
#ifndef CLASS3
#define CLASS3 VOID_CLASS
#endif
.....
init()
{
init_ph(CLASS1);
init_ph(CLASS2);
init_ph(CLASS3);
...
Сколько надо.
}
run()
{
run_ph(CLASS1);
run_ph(CLASS2);
run_ph(CLASS3);
...
Сколько надо.
}
E-mail: info@telesys.ru