?? mcospec.h
字號:
/*******************************************************************
* *
* mcospec.h *
* *
* This file is a part of the eXtremeDB source code *
* Copyright (c) 2001-2007 McObject LLC *
* All Rights Reserved *
* *
* eXtremeDB compiler & platform specific configuration *
* *
***************************************************************** */
#ifndef MCO_MCOSPEC_H__
#define MCO_MCOSPEC_H__
#ifdef __cplusplus
extern "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 "mcotargt.h"
#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 */
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;
#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;
typedef uint8 mco_size_t;
typedef int8 mco_size_sig_t;
typedef uint4 mco_size32_t;
typedef int4 mco_size32_sig_t;
typedef uint8 mco_offs_t;
typedef int8 mco_offs_sig_t;
typedef uint8 mco_counter_t;
typedef uint4 mco_counter32_t;
typedef uint4 mco_hash_counter_t;
typedef uint4 mco_conid_t;
typedef uint8 mco_addr_t;
#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;
typedef uint4 mco_size_t;
typedef int4 mco_size_sig_t;
typedef uint4 mco_size32_t;
typedef int4 mco_size32_sig_t;
typedef uint4 mco_offs_t;
typedef int4 mco_offs_sig_t;
typedef uint4 mco_counter_t;
typedef uint4 mco_counter32_t;
typedef uint4 mco_hash_counter_t;
typedef uint4 mco_conid_t;
typedef uint4 mco_addr_t;
#endif //MCO_PLATFORM_X64
#define MCO_MAKE_MEM_ALIGN(memAddr) ((((mco_puint)memAddr)+MCO_MEM_ALIGN-1) & (~(MCO_MEM_ALIGN-1)))
#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_SERIALIZATION
void* 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 */
#define MCO_CFG_HASH_VIA_BTREE
#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 + -