
  * (. rodata. str1. 4) 
  __ctor_start__ = . ; 
  KEEP  (*crtbegin. o (. ctors) ) 
  KEEP  (*crtbegin? . o (. ctors) ) 
  KEEP  (* (EXCLUDE_FILE  (*crtend. o *crtend? . o )  . ctors) ) 
  KEEP  (* (SORT (. ctors. *) ) ) 
  KEEP  (* (. ctors) ) 
  __ctor_end__ = . ; 
  KEEP  (*crtbegin. o (. dtors) ) 
  KEEP  (*crtbegin? . o (. dtors) ) 
  KEEP  (* (EXCLUDE_FILE  (*crtend. o *crtend? . o )  . dtors) ) 
  KEEP  (* (SORT (. dtors. *) ) ) 
  KEEP  (* (. dtors) ) 
      __dtor_end__ = . ; 
  .  = ALIGN (0x4)  ; 
  __erodata = . ; 
找到 system. c 文件, 在该文件中添加如下 函数接口, 目的为了初始化 C++ 构造函数构造空间
extern int __dtor_end__; 
extern int __ctor_end__; 
extern int __ctor_start__; 
typedef void  (*func_ptr)  (void) ; 
__attribute__ ( (weak) )  void cxx_system_init (void) 
{
    func_ptr *p; 
    for  (p =  (func_ptr *) &__ctor_end__ -1;  p " =  (func_ptr *) &__ctor_start__;  p--) 
    {
         (*p)  () ; 
    }
}

以上步骤都做好后, 理论上就可以尽情的使用 C++ 进行编写了, 但是官方 SDK 并没有做 C++ 的支持, 因此在包含官方驱动头文件的时候, 需要你手动加上 C++ 的判断.
#ifdef __cplusplus
extern "C" {
#endif
/* 头文件中原本内容*/
#ifdef __cplusplus
}
#endif

