Files

23 lines
646 B
C++
Raw Permalink Normal View History

/**
* @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"