_gcc.h
来自「stl的源码」· C头文件 代码 · 共 199 行
H
199 行
/* STLport configuration file * It is internal STLport header - DO NOT include it directly */#define _STLP_COMPILER "gcc"#define _STLP_HAS_INCLUDE_NEXT 1#if (__GNUC__ < 2) || ((__GNUC__ < 3) && ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)))/* We do not support neither the unofficial 2.96 gcc version. */# error GNU compilers before 2.95 are not supported anymore.#endif/* Systems having GLIBC installed have different traits */#if defined (__linux__)# ifndef _STLP_USE_GLIBC# define _STLP_USE_GLIBC 1# endif# if defined (__UCLIBC__) && !defined (_STLP_USE_UCLIBC)# define _STLP_USE_UCLIBC 1# endif#endif#if defined (__CYGWIN__) && \ (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 3) && !defined (_GLIBCPP_USE_C99)# define _STLP_NO_VENDOR_MATH_L# define _STLP_NO_VENDOR_STDLIB_L#endif#if (__GNUC__ < 3)# define _STLP_NO_VENDOR_STDLIB_L#endif#if (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 4))/* define for gcc versions before 3.4.0. */# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD#endif#if !defined (_REENTRANT) && (defined (_THREAD_SAFE) || \ (defined (__OpenBSD__) && defined (_POSIX_THREADS)) || \ (defined (__MINGW32__) && defined (_MT)))# define _REENTRANT#endif#if defined (__DJGPP)# define _STLP_RAND48 1# define _NOTHREADS 1# undef _PTHREADS# define _STLP_LITTLE_ENDIAN#endif#if defined (__MINGW32__)/* Mingw32, egcs compiler using the Microsoft C runtime */# if (__GNUC__ >= 3)/* For gcc before version 3 this macro is defined below */# define _STLP_VENDOR_GLOBAL_CSTD# endif# undef _STLP_NO_DRAND48# define _STLP_NO_DRAND48# define _STLP_CALL#endif /* __MINGW32__ */#if defined (__CYGWIN__) || defined (__MINGW32__)# if !defined (_STLP_USE_STATIC_LIB)# define _STLP_USE_DECLSPEC 1# if !defined (_STLP_USE_DYNAMIC_LIB)# define _STLP_USE_DYNAMIC_LIB# endif# define _STLP_EXPORT_DECLSPEC __declspec(dllexport)# define _STLP_CLASS_EXPORT_DECLSPEC __declspec(dllexport)# define _STLP_CLASS_IMPORT_DECLSPEC __declspec(dllimport)# endif/* The following is defined independently of _STLP_USE_STATIC_LIB because it is also * used to import symbols from PSDK under MinGW */# define _STLP_IMPORT_DECLSPEC __declspec(dllimport)#else# if (__GNUC__ >= 4)# if !defined (_STLP_USE_STATIC_LIB)# if !defined (_STLP_USE_DYNAMIC_LIB)# define _STLP_USE_DYNAMIC_LIB# endif# define _STLP_USE_DECLSPEC 1# define _STLP_EXPORT_DECLSPEC __attribute__((visibility("default")))# define _STLP_IMPORT_DECLSPEC __attribute__((visibility("default")))# define _STLP_CLASS_EXPORT_DECLSPEC __attribute__((visibility("default")))# define _STLP_CLASS_IMPORT_DECLSPEC __attribute__((visibility("default")))# endif# endif#endif#if defined (__CYGWIN__) || defined (__MINGW32__) || !(defined (_STLP_USE_GLIBC) || defined (__sun) || defined(__APPLE__))# if !defined (__MINGW32__) && !defined (__CYGWIN__)# define _STLP_NO_NATIVE_MBSTATE_T 1# endif# if !defined (__MINGW32__) || (__GNUC__ < 3) || (__GNUC__ == 3) && (__GNUC_MINOR__ < 4)# define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1# endif# define _STLP_NO_NATIVE_WIDE_STREAMS 1#endif#define _STLP_NORETURN_FUNCTION __attribute__((noreturn))/* Mac OS X is a little different with namespaces and cannot instantiate * static data members in template classes */#if defined (__APPLE__)# if ((__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)))/* Mac OS X is missing a required typedef and standard macro */typedef unsigned int wint_t;# endif# define __unix# define _STLP_NO_LONG_DOUBLE/* Mac OS X needs all "::" scope references to be "std::" */# define _STLP_USE_NEW_C_HEADERS# define _STLP_NO_VENDOR_STDLIB_L#endif /* __APPLE__ *//* g++ 2.7.x and above */#define _STLP_LONG_LONG long long#ifdef _STLP_USE_UCLIBC /* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */# define _STLP_NO_VENDOR_MATH_F /* No *l math fuctions variants (i.e. sqrtl, fabsl, etc.) */# define _STLP_NO_VENDOR_MATH_L# define _STLP_NO_LONG_DOUBLE#endif#if defined (__OpenBSD__) || defined (__FreeBSD__)# define _STLP_NO_VENDOR_MATH_L# define _STLP_NO_VENDOR_STDLIB_L /* no llabs */# ifndef __unix# define __unix# endif#endif#if defined (__alpha__)# define _STLP_NO_VENDOR_MATH_L#endif#if defined (__hpux)# define _STLP_VENDOR_GLOBAL_CSTD 1# define _STLP_NO_VENDOR_STDLIB_L /* no llabs */ /* No *f math fuctions variants (i.e. sqrtf, fabsf, etc.) */# define _STLP_NO_VENDOR_MATH_F#endif#if (__GNUC__ >= 3)# ifndef _STLP_HAS_NO_NEW_C_HEADERS/*# ifndef _STLP_USE_UCLIBC*/# define _STLP_HAS_NATIVE_FLOAT_ABS/*# endif*/# else# ifdef _STLP_USE_GLIBC# define _STLP_VENDOR_LONG_DOUBLE_MATH 1# endif# endif#endif#if (__GNUC__ < 3)# define _STLP_HAS_NO_NEW_C_HEADERS 1# define _STLP_VENDOR_GLOBAL_CSTD 1# define _STLP_DONT_USE_PTHREAD_SPINLOCK 1# ifndef __HONOR_STD# define _STLP_VENDOR_GLOBAL_EXCEPT_STD 1# endif/* egcs fails to initialize builtin types in expr. like this : new(p) char(); */# define _STLP_DEF_CONST_PLCT_NEW_BUG 1#endif#undef _STLP_NO_UNCAUGHT_EXCEPT_SUPPORT#undef _STLP_NO_UNEXPECTED_EXCEPT_SUPPORT/* strict ANSI prohibits "long long" ( gcc) */#if defined ( __STRICT_ANSI__ )# undef _STLP_LONG_LONG #endif#ifndef __EXCEPTIONS# undef _STLP_DONT_USE_EXCEPTIONS# define _STLP_DONT_USE_EXCEPTIONS 1#endif#if (__GNUC__ >= 3)/* Instantiation scheme that used (default) in gcc 3 made void of sense explicit instantiation within library: nothing except increased library size. - ptr */# define _STLP_NO_FORCE_INSTANTIATE#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?