rt-thread/components/cplusplus/crt_init.c

25 lines
496 B
C

#include <rtthread.h>
int cplusplus_system_init(void)
{
#if defined(__GNUC__) && !defined(__CC_ARM)
extern unsigned char __ctors_start__;
extern unsigned char __ctors_end__;
typedef void (*func)(void);
/* .ctors initalization */
func *ctors_func;
for (ctors_func = (func *)&__ctors_start__;
ctors_func < (func *)&__ctors_end__;
ctors_func ++)
{
(*ctors_func)();
}
#endif
return 0;
}
INIT_COMPONENT_EXPORT(cplusplus_system_init);