📄 mcospec.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 + -