// // Created by dongl on 25-8-11. // #include #include #define START "_start" #include weak void libk_init(); weak void libk_fini(); int main( int argc, char **argv ); int rt_main( int argc, char **argv ); int libk_start_main( int (*)(), int, char **, void (*)(), void(*)(), void(*)() ); void _start_c( long *p ) { // main 入口参数 const int argc = (int) p[0]; char **argv = (void *)(p+1); (void) argv; p[0] >> (sizeof(long) - 1) ? libk_start_main(main, argc, argv, libk_init, libk_fini, 0) : libk_start_main(rt_main, argc, argv, libk_init, libk_fini, 0); }