Go to the documentation of this file.
34 #if defined(__sun) && defined(__SVR4)
35 #define INITIALIZER(name) __attribute__((constructor)) static void name(void)
36 #define FINALIZER(name) __attribute__((destructor)) static void name(void)
38 #define INITIALIZER(name) __attribute__((constructor(101))) static void name(void)
39 #define FINALIZER(name) __attribute__((destructor(101))) static void name(void)
41 #define REGISTER_FINALIZER(name) ((void) 0)
43 #elif defined(_MSC_VER)
48 #pragma section(".CRT$XCT", read)
49 #define INITIALIZER(name) \
50 static void __cdecl name(void); \
51 __declspec(allocate(".CRT$XCT")) void (__cdecl *const _##name)(void) = &name; \
52 static void __cdecl name(void)
53 #define FINALIZER(name) \
54 static void __cdecl name(void)
55 #define REGISTER_FINALIZER(name) \
57 int _res = atexit(name); \
62 #error Unsupported compiler