00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __wincompat_h
00024 #define __wincompat_h
00025
00026 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
00027
00028 #ifdef _MSC_VER
00029 #pragma warning (disable: 4996)
00030 #endif
00031
00032 #define WIN32_LEAN_AND_MEAN
00033 #include <windows.h>
00034
00035 #define atoll _atoi64
00036 #define snprintf _snprintf
00037
00038 #ifndef __MINGW32__
00039 #define strtoull _strtoui64
00040 #endif // __MINGW32__
00041
00042 #endif
00043
00044 #if (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) \
00045 || defined(__MINGW32__))
00046
00047
00048
00049
00050 #define INT64_FMT "%I64d"
00051 #define UINT64_FMT "%I64u"
00052
00053 #define INT64_HEX_FMT "%I64X"
00054
00055 #else // defined(WIN32) || defined(__MINGW32__)
00056
00057 #define INT64_FMT "%lld"
00058 #define UINT64_FMT "%llu"
00059
00060 #define INT64_HEX_FMT "%llX"
00061
00062 #endif // defined(WIN32) || defined(__MINGW32__)
00063
00064 #if (defined(WIN32) || defined(_WIN32) || defined(__WIN32__)) \
00065 && ! defined(__MINGW32__)
00066
00067 #define INT64_CONST(I) (I ## i64)
00068 #define UINT64_CONST(I) (I ## Ui64)
00069
00070 #ifndef INT32_MAX
00071 #define INT32_MAX (2147483647)
00072 #endif
00073
00074 #ifndef INT32_MIN
00075 #define INT32_MIN (-2147483647-1)
00076 #endif
00077
00078 #else // defined(WIN32) && ! defined(__MINGW32__)
00079
00080 #define INT64_CONST(I) (I ## LL)
00081 #define UINT64_CONST(I) (I ## ULL)
00082
00083 #endif // defined(WIN32) && ! defined(__MINGW32__)
00084
00085 #endif // __wincompat_h