📄 crtend.c
字号:
#include <errno.h>#include <stdlib.h>/*static void (*__CTOR_END__[1]) __P((void)) __attribute__((section(".ctors"))) = { (void *)-1 };static void (*__DTOR_END__[1]) __P((void)) __attribute__((__unused__)) __attribute__((section(".dtors"))) = { (void *)0 };*/extern void (*__CTOR_END__[]) __P((void));static void __do_global_ctors_aux __P((void));static void__do_global_ctors_aux(){ void (**p)(void) = __CTOR_END__ - 1; while (*p) (**p--)();}static void dummy_init(void) __attribute__((section(".trash")));voiddummy_init(void){ static int initialized = 0; static void (*volatile call__ctors)(void) = __do_global_ctors_aux; /* * Call global constructors. * Arrange to call global destructors at exit. */ /* prevent function pointer constant propagation */ __asm__ __volatile__ (".section .init"); if (!initialized) { initialized = 1; (*call__ctors)(); } __asm__ __volatile__ (".section .trash");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -