Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h
$ cat -n /usr/include/x86_64-linux-gnu/c++/13/bits/os_defines.h 1 // Specific definitions for GNU/Linux -*- C++ -*- 2 3 // Copyright (C) 2000-2023 Free Software Foundation, Inc. 4 // 5 // This file is part of the GNU ISO C++ Library. This library is free 6 // software; you can redistribute it and/or modify it under the 7 // terms of the GNU General Public License as published by the 8 // Free Software Foundation; either version 3, or (at your option) 9 // any later version. 10 11 // This library is distributed in the hope that it will be useful, 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 // GNU General Public License for more details. 15 16 // Under Section 7 of GPL version 3, you are granted additional 17 // permissions described in the GCC Runtime Library Exception, version 18 // 3.1, as published by the Free Software Foundation. 19 20 // You should have received a copy of the GNU General Public License and 21 // a copy of the GCC Runtime Library Exception along with this program; 22 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 23 //
. 24 25 /** @file bits/os_defines.h 26 * This is an internal header file, included by other library headers. 27 * Do not attempt to use it directly. @headername{iosfwd} 28 */ 29 30 #ifndef _GLIBCXX_OS_DEFINES 31 #define _GLIBCXX_OS_DEFINES 1 32 33 // System-specific #define, typedefs, corrections, etc, go here. This 34 // file will come before all others. 35 36 // This keeps isalnum, et al from being propagated as macros. 37 #define __NO_CTYPE 1 38 39 #include
40 41 // Provide a declaration for the possibly deprecated gets function, as 42 // glibc 2.15 and later does not declare gets for ISO C11 when 43 // __GNU_SOURCE is defined. 44 #if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE) 45 # undef _GLIBCXX_HAVE_GETS 46 #endif 47 48 // Glibc 2.23 removed the obsolete isinf and isnan declarations. Check the 49 // version dynamically in case it has changed since libstdc++ was configured. 50 #define _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC __GLIBC_PREREQ(2,23) 51 52 // Glibc 2.26 on i?86/x86-64/ia64/ppc64le added *f128 support. 53 // Glibc 2.27 added it also on many other arches but those have IEEE quad 54 // long double. 55 #if __GLIBC_PREREQ(2, 26) \ 56 && (defined(__i386__) || defined(__x86_64__) || defined (__ia64__) \ 57 || (defined(__powerpc__) && defined(_ARCH_PWR8) \ 58 && defined(__LITTLE_ENDIAN__) && (_CALL_ELF == 2) \ 59 && defined(__FLOAT128__))) 60 # define _GLIBCXX_HAVE_FLOAT128_MATH 1 61 #endif 62 63 #ifdef __linux__ 64 // The following libpthread properties only apply to Linux, not GNU/Hurd. 65 66 # if __GLIBC_PREREQ(2, 27) 67 // Since glibc 2.27 pthread_self() is usable without linking to libpthread. 68 # define _GLIBCXX_NATIVE_THREAD_ID pthread_self() 69 # else 70 // Before then it was in libc.so.6 but not libc.a, and always returns 0, 71 // which breaks the invariant this_thread::get_id() != thread::id{}. 72 // So only use it if we know the libpthread version is available. 73 // Otherwise use (__gthread_t)1 as the ID of the main (and only) thread. 74 # define _GLIBCXX_NATIVE_THREAD_ID \ 75 (__gthread_active_p() ? __gthread_self() : (__gthread_t)1) 76 # endif 77 78 # if __GLIBC_PREREQ(2, 34) 79 // Since glibc 2.34 all pthreads functions are usable without linking to 80 // libpthread. 81 # define _GLIBCXX_GTHREAD_USE_WEAK 0 82 # endif 83 84 # if defined(_TIME_BITS) 85 # if _TIME_BITS == 64 86 # undef _GLIBCXX_TIME_BITS64_ABI_TAG 87 # define _GLIBCXX_TIME_BITS64_ABI_TAG [[__gnu__::__abi_tag__("__time64")]] 88 # endif 89 # endif 90 #endif // __linux__ 91 92 #endif
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™