It's run when a shared library is loaded, typically during program startup.
1. before main
void tmain() __attribute__((constructor(101))){ printf("abc\n"); }
2.module init
typedef void (INITFUC)(int argc, char **argv, char **envp); void myinit(int argc, char **argv, char **envp) { printf("%s: %s\n", __FILE__, __FUNCTION__); for (int i = 0; i<argc;i++) { printf("%d:%s\n",i, argv[i]); } } __attribute__((section("__DATA,__mod_init_func"))) INITFUC *__init = myinit;