Array mit Hilfe von Macros vom Preprozessor füllenlassen
Posted: 05. Jun 2013 20:27
Grüss Euch!
Ich habe aktuell eine Liste mit Funktionspointern, deren dahinterstehende Funktionen gemäss der Tabelle nach und nach abgearbeitet werden.
Dies funktioniert tadellos. Um der modularen Programmierung näher zu kommen, möchte ich versuchen, die Tabelle nicht mehr durch Eintippen ins Array, sondern über eine API zu erzeugen:
ADD_CALC_FUNC( calculation_1 );
ADD_CALC_FUNC( calculation_2 );
oder falls einfacher auch
ADD_CALC_FUNC( calculation_1 , POS1);
ADD_CALC_FUNC( calculation_2 , POS2);
Die Liste soll nicht zur Programmlaufzeit geändert werden können, sondern nur mit Hilfe von Makros beim Comilationsvorgang erzeugt werden (läuft auf einen kleinen uC).
Habt Ihr eine Idee wie man so was tun könnte?
Vielen Dank und Gruess
Krabbel
Ich habe aktuell eine Liste mit Funktionspointern, deren dahinterstehende Funktionen gemäss der Tabelle nach und nach abgearbeitet werden.
Code: Select all
typedef struct {
void (*name)(void);
} calc_function;
const calc_funtion table[] = {
{ calculation_1 },
{ calculation_2 },
.....
};
ADD_CALC_FUNC( calculation_1 );
ADD_CALC_FUNC( calculation_2 );
oder falls einfacher auch
ADD_CALC_FUNC( calculation_1 , POS1);
ADD_CALC_FUNC( calculation_2 , POS2);
Die Liste soll nicht zur Programmlaufzeit geändert werden können, sondern nur mit Hilfe von Makros beim Comilationsvorgang erzeugt werden (läuft auf einen kleinen uC).
Habt Ihr eine Idee wie man so was tun könnte?
Vielen Dank und Gruess
Krabbel