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

📄 config.h

📁 GNU Common C++ is a very portable and highly optimized class framework for writing C++ applications
💻 H
字号:
// Copyright (C) 1999-2001 Open Source Telecom Corporation.//// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.// // This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.// // As a special exception to the GNU General Public License, permission is // granted for additional uses of the text contained in its release // of Common C++.// // The exception is that, if you link the Common C++ library with other// files to produce an executable, this does not by itself cause the// resulting executable to be covered by the GNU General Public License.// Your use of that executable is in no way restricted on account of// linking the Common C++ library code into it.// // This exception does not however invalidate any other reasons why// the executable file might be covered by the GNU General Public License.// // This exception applies only to the code released under the // name Common C++.  If you copy code from other releases into a copy of// Common C++, as the General Public License permits, the exception does// not apply to the code that you add in this way.  To avoid misleading// anyone as to the status of such modified files, you must delete// this exception notice from them.// // If you write modifications of your own for Common C++, it is your choice// whether to permit this exception to apply to your modifications.// If you do not wish that, delete this exception notice.  #ifndef CCXX_CONFIG_H_#define CCXX_CONFIG_H_#define	CCXX_PACKED#define	CCXX_PACKING// Config option: uncomment this line if you want to use static linkage!//#define CCXX_NO_DLL// define automatically WIN32 for windows application compiled with Borland#ifndef WIN32# if defined(__BORLANDC__) && defined(_Windows)#  define WIN32# elif defined(_MSC_VER) && defined(_WIN32)#  define WIN32# endif#endif#pragma warning(disable: 4996)// check multithreading#if defined(__BORLANDC__) && !defined(__MT__)#  error Please enable multithreading#endif#if defined(_MSC_VER) && !defined(_MT)#  error Please enable multithreading (Project -> Settings -> C/C++ -> Code Generation -> Use Runtime Library)#endif// check DLL compiling#ifdef _MSC_VER#ifndef CCXX_NO_DLL# ifndef _DLL#  error Please enable DLL linking (Project -> Settings -> C/C++ -> Code Generation -> Use Runtime Library)# endif#endif#endif#ifndef CCXX_WIN32#define CCXX_WIN32/*** @todo Why may be need using kernel object Mutex as a background for ost::Mutex?*/// Select the way, that the ost::Mutex based on.//#define MUTEX_UNDERGROUND_WIN32_MUTEX#define MUTEX_UNDERGROUND_WIN32_CRITICALSECTION/*http://msdn.microsoft.com/library/en-us/winprog/winprog/using_the_windows_headers.aspMinimum system required    Macros to define Windows "Longhorn"         _WIN32_WINNT >= 0x0600                           WINVER >= 0x0600 Windows Server 2003        _WIN32_WINNT> = 0x0502                           WINVER >= 0x0502 Windows XP                 _WIN32_WINNT >= 0x0501                           WINVER >= 0x0501 Windows 2000               _WIN32_WINNT >= 0x0500                           WINVER >= 0x0500 Windows NT 4.0             _WIN32_WINNT >= 0x0400                           WINVER >= 0x0400 Windows Me                 _WIN32_WINDOWS >= 0x0500                           WINVER >= 0x0500 Windows 98                 _WIN32_WINDOWS >= 0x0410                           WINVER >= 0x0410 Windows 95                 _WIN32_WINDOWS >= 0x0400                           WINVER >= 0x0400Faster Builds with Smaller Header FilesWIN32_LEAN_AND_MEAN*/ // Require for compiling with critical sections.#ifndef _WIN32_WINNT#define _WIN32_WINNT 0x0400#endif// Make sure we're consistent with _WIN32_WINNT#ifndef WINVER#define WINVER _WIN32_WINNT#endif#ifndef WIN32_LEAN_AND_MEAN#define WIN32_LEAN_AND_MEAN#define _CCXX_WIN32_LEAN_AND_MEAN_#endif#include <winsock2.h>#include <ws2tcpip.h>#ifdef _CCXX_WIN32_LEAN_AND_MEAN_#undef WIN32_LEAN_AND_MEAN#undef _CCXX_WIN32_LEAN_AND_MEAN_#endif#if _WIN32_WINNT >= 0x0501#define CCXX_IPV6#endif#endif /* #ifndef CCXX_WIN32 */#ifdef WIN32#ifndef ssize_t#define ssize_t int#endif#endif#undef	__DLLRTL#undef CCXX_EXPORT#undef CCXX_MEMBER#undef CCXX_MEMBER_EXPORT#undef CCXX_CLASS_EXPORT#undef CCXX_EMPTY#define CCXX_EMPTY#if defined(__MINGW32__) && !defined(__MSVCRT__)#define	CCXX_NOMSVCRT#endif#if defined(__MINGW32__) || defined(__CYGWIN32__)#define	HAVE_OLD_IOSTREAM#define	HAVE_LIBXML#undef __EXPORT#undef __stdcall#define __stdcall#define	__EXPORT#define CCXX_EXPORT(t) t#define CCXX_MEMBER(t) t#define CCXX_MEMBER_EXPORT(t) t#define CCXX_CLASS_EXPORTtypedef char int8;typedef short int16;typedef long int32;typedef long long int64;typedef unsigned char uint8;typedef unsigned short uint16;typedef unsigned long uint32;typedef unsigned long long uint64;#ifdef __MINGW32__# define HAVE_MODULES   1# define alloca(x)      __builtin_alloca(x)# define THROW(x)       throw x# define THROWS(x)      throw(x)# define NEW_THROWS	throw()# define THROWS_EMPTY	throw()  typedef unsigned int  uint;# define        snprintf            _snprintf# ifndef ETC_PREFIX#   define ETC_PREFIX   "c:/"# endif#else /* #ifndef __MINGW32__ */typedef DWORD size_t;#endif /* #ifndef __MINGW32__ */#else /* !defined(__MINGW32__) && !defined(__CYGWIN32__) */#ifdef CCXX_NO_DLL#define	__DLLRTL  #define	__EXPORT  #else#define	__DLLRTL  __declspec(dllexport)#define	__EXPORT  __declspec(dllimport)#endif#if !defined(_MSC_VER) || _MSC_VER >= 1300#define	HAVE_GETADDRINFO#endif#define	HAVE_MEMMOVE#define	HAVE_SNPRINTF#define	snprintf	_snprintf#define	vsnprintf	_vsnprintf#define CCXX_EXPORT(t) __EXPORT t#define CCXX_MEMBER(t) t#define CCXX_MEMBER_EXPORT(t) __EXPORT CCXX_MEMBER(t CCXX_EMPTY)#define CCXX_CLASS_EXPORT __EXPORTtypedef __int8  int8;typedef __int16 int16;typedef __int32 int32;typedef __int64 int64;typedef unsigned int uint;typedef unsigned __int8 uint8;typedef unsigned __int16 uint16;typedef unsigned __int32 uint32;typedef unsigned __int64 uint64;#define SECS_BETWEEN_EPOCHS ((__int64)(11644473600))#define SECS_TO_100NS ((__int64)(10000000))#define THROW(x) throw x#define THROWS(x) throw(x)#define USING(x)#define	NEW_THROWS	throw()#define	THROWS_EMPTY	throw()#define HAVE_MODULES 1#undef  HAVE_PTHREAD_RWLOCK#undef  PTHREAD_MUTEXTYPE_RECURSIVE// define endian macros#define __BYTE_ORDER __LITTLE_ENDIAN#define __LITTLE_ENDIAN 1234#define __BIG_ENDIAN 4321#define	__BYTE_ALIGNMENT 1#pragma warning (disable:4786)#if _MSC_VER >= 1300#pragma warning (disable:4290)#endif#ifndef	ETC_PREFIX#define	ETC_PREFIX "c:/"#endif#endif /* !defined(__MINGW32__) && !defined(__CYGWIN32__) */// have exceptions#ifdef	CCXX_NO_EXCEPTIONS#undef	CCXX_EXCEPTIONS#else#define	CCXX_EXCEPTIONS	1#endif// use namespace#define CCXX_NAMESPACES 1#define	COMMON_DEADLOCK_DEBUG#define	COMMON_TPPORT_TYPE_DEFINED#define CCXX_HAVE_NEW_INIT#define HAVE_SSTREAM#define	HAVE_EXCEPTION#ifdef	__BORLANDC__#define	HAVE_LOCALTIME_R#endif#endif /* #ifndef CCXX_CONFIG_H_ *//** EMACS ** * Local variables: * mode: c++ * c-basic-offset: 8 * End: */

⌨️ 快捷键说明

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