- #pragma once
- #if TARGET_OS_IOS == 1
- #define OS_IOS 1
- #endif
-
- #ifdef WIN32
- #ifdef XJSON_EXPORTS
- #define XJSON_API __declspec(dllexport)
- #define XJSON_TEMPLATE __declspec(dllexport)
- #else
- #define XJSON_API __declspec(dllimport)
- #define XJSON_TEMPLATE
- #endif
- #define CALLBACK __stdcall
- #else
- #define XJSON_API
- #define CALLBACK
- #endif
-
- #if (defined(WIN32)||defined(_WIN32) ||defined(__WIN32__)||defined(__NT__))
- #define OS_WIN32
- #else
- #define OS_LINUX
- //#define OS_IOS
- #endif
-
- #if defined(_MSC_VER)
- #define CC_MSVC
- #endif
-
- #ifdef OS_WIN32
- //#define _WIN32_WINNT 0x0400
- #define WIN32_LEAN_AND_MEAN
- #include <windows.h>
- #undef WIN32_LEAN_AND_MEAN
- #else
- #include <unistd.h>
- #include <time.h>
- #include <sys/time.h>
- #include <errno.h>
- #include <pthread.h>
- #endif
-
- // 一般库建议都加上命名空间,以防冲突
- // 命名空间快速定义 开始与结束
- #define NS_XJSON_BEGIN namespace XJSON_LIB {
- #define NS_XJSON_END_AND_USE }using namespace XJSON_LIB;
-
- #define NS_BEGIN(Name) namespace Name {
- #define NS_END_AND_USE(Name) }using namespace Name;
- #define NS_END }
-
- #pragma warning(disable: 4251)
- #pragma warning(disable: 4244)
- #pragma warning(disable: 4275)
- #pragma warning(disable: 4514)
- #pragma warning(disable: 4800)
- #pragma warning(disable: 4097)
- #pragma warning(disable: 4706)
- #pragma warning(disable: 4786)
- #pragma warning(disable: 4660)
- #pragma warning(disable: 4355)
- #pragma warning(disable: 4231)
- #pragma warning(disable: 4710)
- #pragma warning(disable: 4530)
- #pragma warning(disable: 4996)
-
- #ifndef uint64
- #if defined( WIN32 )
- typedef unsigned __int64 uint64;
- #define FORMAT_INT64 "%I64d"
- #else
- typedef unsigned long long uint64;
- #define FORMAT_INT64 "%lld"
- #endif
- #endif
-
- #ifndef int64
- #ifdef WIN32
- typedef __int64 int64;
- #else
- typedef long long int64;
- #endif
- #endif
-
- #ifndef Bool
- #define Bool int
- #endif
-
-
- #ifndef TRUE
- #define TRUE 1
- #endif
-
- #ifndef FALSE
- #define FALSE 0
- #endif
-
- #ifndef NULL
- #define NULL 0
- #endif
-
-
- #ifndef uchar
- typedef unsigned char uchar;
- #endif
-
- #ifndef uint
- typedef unsigned int uint;
- #endif
|