23 lines
646 B
C++
23 lines
646 B
C++
/**
|
|||
|
|
* @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"
|