1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /*
- * c_decl.h
- *
- * a simple set of macros to ease declaration of C interfaces.
- */
- /**
- \ingroup lub
- \defgroup lub_c_decl C linkage macros
- @{
- These two macros are used to simplify the declaration of C-linkage code.
- Rather than worry about preprocessor directives similar to
- \code
- #ifdef __cplusplus
- extern "C" {
- #endif
- int foobar(void);
- #ifdef __cplusplus
- }
- #endif
- \endcode
- you simply need to use the _BEGIN_C_DECL and _END_C_DECL macros instead.
- \code
- #include "lub/c_decl.h"
- _BEGIN_C_DECL
- int foobar(void);
- _END_C_DECL
- \endcode
- */
- #ifndef _lub_c_decl_h
- #define _lub_c_decl_h
-
- #ifdef __cplusplus
- #define _BEGIN_C_DECL extern "C" {
- #define _END_C_DECL }
- #else /* not __cplusplus */
- #define _BEGIN_C_DECL
- #define _END_C_DECL
- #endif /* not __cplusplus */
- /** @} */
- #endif /* _lub_c_decl_h */
|