/** * @file cpp_stubs.cpp * @brief C++ runtime stubs for bare-metal microlib. * * microlib 的 aeabi_atexit.o 需要两个外部符号: * - _atexit_init(void) : 初始化 atexit 互斥量(裸机无 RTOS,空实现) * - _atexit_mutex (int) : 互斥量变量,aeabi_atexit 用它做线程安全守卫 * * 嵌入式常驻程序不存在 exit-time 析构,这里提供最小空实现让链接通过。 */ extern "C" { void _atexit_init(void) { /* 裸机无 RTOS,互斥量不需要真正初始化 */ } /* aeabi_atexit.o 将此符号当作 int 变量读写,不是函数。 */ int _atexit_mutex = 0; } // extern "C"