| Zeile 47: | Zeile 47: | ||
<cpp> | <cpp> | ||
// Lizenz: public domain | // Lizenz: public domain | ||
| + | |||
| + | typedef void (*constructor)(); | ||
// Im Linkerskript definiert | // Im Linkerskript definiert | ||
| − | extern "C" | + | extern "C" constructor start_ctors; |
| − | extern "C" | + | extern "C" constructor end_ctors; |
extern "C" void initializeConstructors(); | extern "C" void initializeConstructors(); | ||
| Zeile 57: | Zeile 59: | ||
void initialiseConstructors() | void initialiseConstructors() | ||
{ | { | ||
| − | + | for (constructor* i = &start_ctors;i != &end_ctors;++i) | |
| − | + | (*i)(); | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | (* | ||
} | } | ||
</cpp> | </cpp> | ||