基础数据类型封装设计 STATIC INLINE USHORT ARRAY_SIZE IN OUT BOOL_T等

基础数据类型封装设计 STATIC INLINE USHORT ARRAY_SIZE IN OUT BOOL_T

#ifndef _BASEDATATYPE_H_
#define _BASEDATATYPE_H_

#ifdef  __cplusplus
extern "C" {
#endif


#ifndef STATIC
#define STATIC    static
#endif

#ifndef INLINE
#define INLINE    inline
#endif

#ifndef VOID
#define VOID    void
#endif

#ifndef CHAR
#define CHAR    char
#endif

#ifndef UCHAR
#define UCHAR   unsigned char
#endif

#ifndef SHORT
#define SHORT   short
#endif

#ifndef USHORT
#define USHORT  unsigned short
#endif

#ifndef LONG
#define LONG    long
#endif

#ifndef ULONG
#define ULONG   unsigned long
#endif

#ifndef INT
#define INT     int
#endif

#ifndef UINT
#define UINT    unsigned int
#endif

#ifndef BOOL_T
typedef USHORT  BOOL_T;
#endif

#ifndef FLOAT
#define FLOAT   float
#endif

#ifndef DOUBLE
#define DOUBLE  double
#endif

#ifndef INT8
#define INT8    CHAR
#endif

#ifndef UINT8
#define UINT8   UCHAR
#endif

#ifndef INT16
#define INT16   SHORT
#endif

#ifndef UINT16
#define UINT16  USHORT
#endif

#ifndef INT32
#define INT32   INT
#endif

#ifndef UINT32
#define UINT32  UINT
#endif

#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))

#define GET_MAX(x,y) ((x) > (y)) ? (x):(y)

#define likely(x)    __builtin_expect(!!(x), 1)
#define unlikely(x)  __builtin_expect(!!(x), 0)

#ifndef IN
#define IN
#endif

#ifndef OUT
#define OUT
#endif

#ifndef INOUT
#define INOUT
#endif

typedef void * LPVOID;


typedef unsigned long long __attribute__((aligned(8)))  UINT64;
typedef long long __attribute__((aligned(8)))           INT64;

#define BOOL_TRUE   ((BOOL_T)1)
#define BOOL_FALSE  ((BOOL_T)0)


#ifdef  __cplusplus
}
#endif

#endif /* _SYS_BASEDATATYPE_H_ */

猜你喜欢

转载自blog.csdn.net/lqy971966/article/details/107758103
今日推荐