25 lines
496 B
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);
|
||
|
|