⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mcospec.h

📁 extremeDB s sample code,useful for you
💻 H
字号:
/******************************************************************* *                                                                 * *  mcospec.h                                                      * *                                                                 * *  This file is a part of the eXtremeDB source code               * *  Copyright (c) 2001-2006 McObject LLC                           * *  All Rights Reserved                                            * *                                                                 * *  eXtremeDB compiler & platform specific configuration           * *                                                                 * ***************************************************************** */#ifndef MCO_MCOSPEC_H__#define MCO_MCOSPEC_H__#ifdef __cplusplusextern "C" { #endif#ifdef MCO_PLATFORM_X64#undef	MCO_CFG_QUAD_STRUCT#else //MCO_PLATFORM_X64#define	MCO_CFG_QUAD_STRUCT#endif //MCO_PLATFORM_X64//#define	MCO_CFG_QUAD_SCALAR#include "mcoquad.h"#define MCO_HA_USE_BIN_SERIALIZATION// typedef int mcoint; /* best-int: int or short, signed or unsigned, depending on target; min 2 bytes *///typedef uint2 mcoint; /* also must work */#ifndef MCO_BASE_TYPES_DEFINED/* define MCO_BASE_TYPES_DEFINED if want to use external definitions */#ifdef MCO_PLATFORM_X64#define MCO_MEM_ALIGN	8#if defined _MSC_VER// platform dependent int == sizeof(void*)typedef          __int64 mco_pint; // platform dependent uint == sizeof(void*)typedef unsigned __int64 mco_puint;#else// platform dependent int == sizeof(void*)typedef          long long mco_pint;// platform dependent uint == sizeof(void*)typedef unsigned long long mco_puint;#endif //_MSC_VER#else //MCO_PLATFORM_X64#define MCO_MEM_ALIGN	4// platform dependent int == sizeof(void*)typedef          int mco_pint;// platform dependent uint == sizeof(void*)typedef unsigned int mco_puint;#endif //MCO_PLATFORM_X64#define MCO_MAKE_MEM_ALIGN(memAddr) ((((mco_puint)memAddr)+MCO_MEM_ALIGN-1) & (~(MCO_MEM_ALIGN-1)))typedef unsigned char   uint1;typedef unsigned short  uint2;typedef unsigned int    uint4; /* can be 3 or 4 bytes long */typedef signed char     int1;typedef short           int2;typedef int             int4;  /* can be 3 or 4 bytes long */typedef unsigned int    mco_date;typedef unsigned int    mco_time; /* time_t ok */typedef mco_uquad       uint8;typedef mco_iquad       int8;typedef mco_iquad       autoid_t;typedef unsigned short  nchar_t;#endif/* null pointer */#define NULLPTR (void*)0#define MCO_PTRSIZE sizeof(void*) /* 3 on zilog *//* symbol used to fill out char<n> field with the shorter contents */#define MCO_SPACE_CHAR '\0' #ifdef WIN32#pragma warning(disable: 4100)#pragma warning(disable: 4505)#pragma warning(disable: 4206)#endif/* ZILOG build *///#define MCO_CFG_ZILOG#define MCO_STDCALL /* __stdcall */#ifdef MCO_CFG_ZILOG#define MCO_NO_SHIFT2#define MCO_XCOMP_COPYSTRUCTBUG#define MCO_XCOMP_ICASTBUG#define MCO_RTL_MEMCPY#define MCO_RTL_MEMMOVE#define MCO_UINT4_UNAVAIL /* uint4 is really 2 or 3 bytes long */#define MCO_NO_EXTRA_HEAP_FN /* disable additional heap functions to reduce code size */#undef  MCO_HA_USE_BIN_SERIALIZATIONvoid * memcpy(void *s1, void *s2, int n);int    memcmp(void *s1, void *s2, int n);void * memset(void *s,  int c, int n);void * memmove(void *s1, void *s2, int n);#define MCO_NO_FORWARDS /* compiler does not support forward declarations */#define MCO_NO_REPORTS  /* just turn off */#define MCO_CFG_COMPARE_SUBCALLS#define MCO_CFG_SUBCALLS /* use less inlines, as possible */#endif#ifdef MCO_NO_FORWARDS#define TRNP1(t) mco_trans_h t__#define TRNP2(t) struct mco_trans_t_ * t = (struct mco_trans_t_ *)t__;#define OBJH1(h) mco_objhandle_h h__#define OBJH2(h) struct mco_objhandle_t_ * h = (struct mco_objhandle_t_ *)h__;#define OBJH1_(h) mco_objhandle_h h___#define OBJH2_(h) struct mco_objhandle_t_ * h = (struct mco_objhandle_t_ *)h___;#define SEMP1(s) mco_sem_h s__#define SEMP2(s) struct mco_sem_t_ * s = (struct mco_sem_t_ *)s__;#else#define TRNP1(t) mco_trans_h t#define TRNP2(t) /* nothing */#define OBJH1(h) mco_objhandle_h h#define OBJH2(h) /* nothing */#define OBJH1_(h) mco_objhandle_h h#define OBJH2_(h) /* nothing */#define SEMP1(s) mco_sem_h s#define SEMP2(s) /* nothing */#endif#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -