C++ 的 _BEGIN_DECLS 和 __END_DECLS

 在 Android c++ 相關的標頭檔, 有時會看到

  _BEGIN_DECLS 和 _END_DECLS


這其實就是 extern "C" {  }, 用來定義相關的 C 函式, 讓 C++ 程式可以引用.

一般會定義在 sys/cdefs.h, 如 /usr/include/sys/cdefs.h

#if defined(__cplusplus)

#define __BEGIN_DECLS   extern "C" {

#define __END_DECLS     }

#else

#define __BEGIN_DECLS

#define __END_DECLS

#endif

Android 巨集定義在 android/platform/bionic 的  libc/include/sys/cdefs.h








留言

熱門文章