预编译阶段查看层级依赖可用宏列表首先需要找到需要包含头文件的位置,然后进行引入。
示例:
1)用户头文件
/*
@brief design and implements of demo-for-precompile.
@author wen`xuanpei
@email 15873152445@163.com(query for any question here)
*/
#pragma once
#ifndef __ARITHMETIC_H_
#define __ARITHMETIC_H_
#define INT_A (10)
#define INT_B (20)
#define max(a, b) ( (a) > (b) ? (a) : (b) )
#endif
2)用户程序
/*
@brief test demo-for-precompile-to-include? show you here
@author wen`xuanpei
@email 15873152445@163.com(query for any question here)
*/
#include "arithmetic.h"
#include <stdio.h>
int main(){
puts("hello world!\n");
printf("max(%d,%d):%d\n", INT_A, INT_B, max(INT_A, INT_B));
return 0;
}
3)预编译
gcc -o e1 test1.c -E -dM
g++ -o e1 test1.c -E -dM
4)查看层级依赖可用宏列表
#define _IO_CURRENTLY_PUTTING 0x800
#define __DBL_MIN_EXP__ (-1021)
#define _IO_peekc_unlocked(_fp) (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) && __underflow (_fp) == EOF ? EOF : *(unsigned char *) (_fp)->_IO_read_ptr)
#define __UINT_LEAST16_MAX__ 65535
#define __ATOMIC_ACQUIRE 2
#define __FLT_MIN__ 1.17549435082228750797e-38F
#define _IO_UNITBUF 020000
#define __UINT_LEAST8_TYPE__ unsigned char
#define __flexarr []
#define _IO_FLAGS2_USER_WBUF 8
#define __S64_TYPE long int
#define __stub_fchflags
#define __SQUAD_TYPE long int
#define __INTMAX_C(c) c ## L
#define _BSD_SIZE_T_DEFINED_
#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
#define __CHAR_BIT__ 8
#define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE
#define __UINT8_MAX__ 255
#define __WINT_MAX__ 4294967295U
#define stderr stderr
#define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
#define _XOPEN_SOURCE 700
#define __OFF_T_MATCHES_OFF64_T 1
#define __ORDER_LITTLE_ENDIAN__ 1234
#define __SIZE_MAX__ 18446744073709551615UL
#define __stub_putmsg
#define __WCHAR_MAX__ 2147483647
#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L)
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
#define _IO_flockfile(_fp)
#define _IOFBF 0
#define __USE_BSD 1
#define __FLT_EVAL_METHOD__ 0
#define _IO_USER_LOCK 0x8000
#define _IO_NO_WRITES 8
#define __ASMNAME2(prefix,cname) __STRING (prefix) cname
#define __unix__ 1
#define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
#define __stub_setlogin
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
#define __SYSCALL_WORDSIZE 64
#define __x86_64 1
#define __UINT_FAST64_MAX__ 18446744073709551615UL
#define __SIG_ATOMIC_TYPE__ int
#define __GID_T_TYPE __U32_TYPE
#define __DBL_MIN_10_EXP__ (-307)
#define __FINITE_MATH_ONLY__ 0
#define L_cuserid 9
#define __GNUC_PATCHLEVEL__ 5
#define _IO_pid_t __pid_t
#define __UINT_FAST8_MAX__ 255
#define __LEAF , __leaf__
#define __LDBL_REDIR1(name,proto,alias) name proto
#define __size_t
#define __DEC64_MAX_EXP__ 385
#define __INT8_C(c) c
#define __UINT_LEAST64_MAX__ 18446744073709551615UL
#define _IO_FLAGS2_MMAP 1
#define __always_inline __inline __attribute__ ((__always_inline__))
#define __SHRT_MAX__ 32767
#define __LDBL_MAX__ 1.18973149535723176502e+4932L
#define _IO_EOF_SEEN 0x10
#define _IOS_BIN 128
#define __fortify_function __extern_always_inline __attribute_artificial__
#define _IO_MAGIC_MASK 0xFFFF0000
#define __UINT_LEAST8_MAX__ 255
#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
#define __ptr_t void *
#define __UINTMAX_TYPE__ long unsigned int
#define __linux 1
#define __DEC32_EPSILON__ 1E-6DF
#define __stub_sigreturn
#define _BITS_TYPES_H 1
#define _IO_cleanup_region_end(_Doit)
#define _IO_DONT_CLOSE 0100000
#define __unix 1
#define __UINT32_MAX__ 4294967295U
#define __UID_T_TYPE __U32_TYPE
#define getc(_fp) _IO_getc (_fp)
#define __SIZE_T
#define __LDBL_MAX_EXP__ 16384
#define _ATFILE_SOURCE 1
#define _IO_ssize_t __ssize_t
#define __WINT_MIN__ 0U
#define __linux__ 1
#define _IOS_OUTPUT 2
#define _SIZE_T_DEFINED_
#define __LDBL_REDIR_NTH(name,proto) name proto __THROW
#define __SCHAR_MAX__ 127
#define __USING_NAMESPACE_STD(name)
#define _IO_UNIFIED_JUMPTABLES 1
#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
#define __KERNEL_STRICT_NAMES
#define _IO_stderr ((_IO_FILE*)(&_IO_2_1_stderr_))
#define _IO_ferror_unlocked(__fp) (((__fp)->_flags & _IO_ERR_SEEN) != 0)
#define __INT64_C(c) c ## L
#define __NTH(fct) __LEAF_ATTR fct throw ()
#define __DBL_DIG__ 15
#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
#define _POSIX_SOURCE 1
#define __SIZEOF_INT__ 4
#define __SIZEOF_POINTER__ 8
#define __attribute_used__ __attribute__ ((__used__))
#define _STDIO_USES_IOSTREAM
#define _IO_IN_BACKUP 0x100
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
#define __USER_LABEL_PREFIX__
#define __GLIBC__ 2
#define __END_DECLS }
#define __CONCAT(x,y) x ## y
#define __STDC_HOSTED__ 1
#define __LDBL_HAS_INFINITY__ 1
#define __SLONG32_TYPE int
#define _IO_LINE_BUF 0x200
#define _IOS_NOCREATE 32
#define __GNU_LIBRARY__ 6
#define _G_BUFSIZ 8192
#define __FLT_EPSILON__ 1.19209289550781250000e-7F
#define __GXX_WEAK__ 1
#define TMP_MAX 238328
#define __SSIZE_T_TYPE __SWORD_TYPE
#define __DEV_T_TYPE __UQUAD_TYPE
#define _IO_SKIPWS 01
#define _IO_SCIENTIFIC 04000
#define __LDBL_MIN__ 3.36210314311209350626e-4932L
#define __nonnull(params) __attribute__ ((__nonnull__ params))
#define __DEC32_MAX__ 9.999999E96DF
#define _IO_SHOWPOS 02000
#define __INT32_MAX__ 2147483647
#define __SIZEOF_LONG__ 8
#define _IONBF 2
#define _IO_getc_unlocked(_fp) (_IO_BE ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end, 0) ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++)
#define __STDC_IEC_559__ 1
#define __STDC_ISO_10646__ 201103L
#define __UINT16_C(c) c
#define _IO_PENDING_OUTPUT_COUNT(_fp) ((_fp)->_IO_write_ptr - (_fp)->_IO_write_base)
#define __DECIMAL_DIG__ 21
#define __USE_FORTIFY_LEVEL 0
#define __gnu_linux__ 1
#define _LARGEFILE_SOURCE 1
#define __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))
#define _IO_LEFT 02
#define __LDBL_HAS_QUIET_NAN__ 1
#define __USE_ISOC11 1
#define __attribute_const__ __attribute__ ((__const__))
#define __THROW throw ()
#define __GLIBC_HAVE_LONG_LONG 1
#define L_tmpnam 20
#define __GNUC__ 4
#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
#define __GXX_RTTI 1
#define __MMX__ 1
#define L_ctermid 9
#define __OFF64_T_TYPE __SQUAD_TYPE
#define __FLT_HAS_DENORM__ 1
#define __SIZEOF_LONG_DOUBLE__ 16
#define __USE_SVID 1
#define __LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW
#define SEEK_CUR 1
#define __BIGGEST_ALIGNMENT__ 16
#define __USE_ISOC95 1
#define __USE_ISOC99 1
#define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
#define _IO_uid_t __uid_t
#define __DBL_MAX__ double(1.79769313486231570815e+308L)
#define __INT_FAST32_MAX__ 9223372036854775807L
#define __DBL_HAS_INFINITY__ 1
#define __USE_LARGEFILE 1
#define __INT64_MAX__ 9223372036854775807L
#define __USE_XOPEN 1
#define stdin stdin
#define __USE_XOPEN2K 1
#define __DEC32_MIN_EXP__ (-94)
#define __DADDR_T_TYPE __S32_TYPE
#define __END_NAMESPACE_C99
#define _ISOC11_SOURCE 1
#define __FD_SETSIZE 1024
#define __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))
#define _IO_MAGIC 0xFBAD0000
#define __INT_FAST16_TYPE__ long int
#define _SIZE_T_DEFINED
#define __USE_POSIX199506 1
#define _FEATURES_H 1
#define __LDBL_HAS_DENORM__ 1
#define __stub_getmsg
#define _IO_FIXED 010000
#define __stub_fattach
#define __cplusplus 199711L
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
#define __INT_LEAST32_MAX__ 2147483647
#define _IO_UNBUFFERED 2
#define _IO_INTERNAL 010
#define __DEC32_MIN__ 1E-95DF
#define __DEPRECATED 1
#define __S32_TYPE int
#define __glibc_unlikely(cond) __builtin_expect((cond), 0)
#define __DBL_MAX_EXP__ 1024
#define __DEC128_EPSILON__ 1E-33DL
#define __SSE2_MATH__ 1
#define __ATOMIC_HLE_RELEASE 131072
#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE
#define __PTRDIFF_MAX__ 9223372036854775807L
#define __amd64 1
#define _IO_LINKED 0x80
#define _IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE
#define __STDC_NO_THREADS__ 1
#define __bounded
#define __USECONDS_T_TYPE __U32_TYPE
#define _IO_DELETE_DONT_CLOSE 0x40
#define __BEGIN_NAMESPACE_STD
#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE
#define __ATOMIC_HLE_ACQUIRE 65536
#define __GNUG__ 4
#define __LONG_LONG_MAX__ 9223372036854775807LL
#define __SIZEOF_SIZE_T__ 8
#define __SIZEOF_WINT_T__ 4
#define __stub_bdflush
#define __U16_TYPE unsigned short int
#define INT_A (10)
#define INT_B (20)
#define _STDIO_H 1
#define __GCC_HAVE_DWARF2_CFI_ASM 1
#define __ptrvalue
#define __GXX_ABI_VERSION 1002
#define __USE_GNU 1
#define __FLT_MIN_EXP__ (-125)
#define __extern_always_inline extern __always_inline __attribute__ ((__gnu_inline__))
#define __INT_FAST64_TYPE__ long int
#define __DBL_MIN__ double(2.22507385850720138309e-308L)
#define __USE_XOPEN2KXSI 1
#define __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))
#define __LP64__ 1
#define _IO_off64_t __off64_t
#define __USE_UNIX98 1
#define __MODE_T_TYPE __U32_TYPE
#define __LEAF_ATTR __attribute__ ((__leaf__))
#define __DECIMAL_BID_FORMAT__ 1
#define __RLIM64_T_TYPE __UQUAD_TYPE
#define _IOS_ATEND 4
#define SEEK_DATA 3
#define _IO_BOOLALPHA 0200000
#define __DEC128_MIN__ 1E-6143DL
#define __REGISTER_PREFIX__
#define __UINT16_MAX__ 65535
#define _IOS_NOREPLACE 64
#define __DBL_HAS_DENORM__ 1
#define _IO_TIED_PUT_GET 0x400
#define __attribute_pure__ __attribute__ ((__pure__))
#define __USE_POSIX2 1
#define __UINT8_TYPE__ unsigned char
#define __SLONGWORD_TYPE long int
#define __REDIRECT_LDBL(name,proto,alias) __REDIRECT (name, proto, alias)
#define __NO_INLINE__ 1
#define __warndecl(name,msg) extern void name (void) __attribute__((__warning__ (msg)))
#define __FLT_MANT_DIG__ 24
#define __VERSION__ "4.8.5 20150623 (Red Hat 4.8.5-44)"
#define __UINT64_C(c) c ## UL
#define _SYS_CDEFS_H 1
#define _STDC_PREDEF_H 1
#define _IO_file_flags _flags
#define __USE_XOPEN2K8 1
#define _BSD_SOURCE 1
#define __STRING(x) #x
#define __GCC_ATOMIC_INT_LOCK_FREE 2
#define __unbounded
#define __INO_T_TYPE __SYSCALL_ULONG_TYPE
#define __ssize_t_defined
#define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
#define _SYS_SIZE_T_H
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
#define _IO_feof_unlocked(__fp) (((__fp)->_flags & _IO_EOF_SEEN) != 0)
#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
#define __SIZE_T__
#define __stub_gtty
#define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE
#define _IO_SHOWPOINT 0400
#define _G_config_h 1
#define __stub_sstk
#define __wur
#define __STDC_IEC_559_COMPLEX__ 1
#define _G_HAVE_MMAP 1
#define _IO_OCT 040
#define __off64_t_defined
#define __INT32_C(c) c
#define __DEC64_EPSILON__ 1E-15DD
#define __ORDER_PDP_ENDIAN__ 3412
#define __DEC128_MIN_EXP__ (-6142)
#define _ISOC95_SOURCE 1
#define __INT_FAST32_TYPE__ long int
#define _BITS_TYPESIZES_H 1
#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
#define __UINT_LEAST16_TYPE__ short unsigned int
#define unix 1
#define __USE_POSIX 1
#define __INT16_MAX__ 32767
#define __THROWNL throw ()
#define _BSD_SIZE_T_
#define __SIZE_TYPE__ long unsigned int
#define __UINT64_MAX__ 18446744073709551615UL
#define __va_arg_pack_len() __builtin_va_arg_pack_len ()
#define __ULONGWORD_TYPE unsigned long int
#define _SIZE_T_DECLARED
#define _IO_SHOWBASE 0200
#define __INT8_TYPE__ signed char
#define __ELF__ 1
#define __ID_T_TYPE __U32_TYPE
#define __warnattr(msg) __attribute__((__warning__ (msg)))
#define _IO_funlockfile(_fp)
#define __FLT_RADIX__ 2
#define __INT_LEAST16_TYPE__ short int
#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
#define __UINTMAX_C(c) c ## UL
#define __GNUC_RH_RELEASE__ 44
#define _POSIX_C_SOURCE 200809L
#define __long_double_t long double
#define __k8 1
#define __LDBL_REDIR(name,proto) name proto
#define __SIG_ATOMIC_MAX__ 2147483647
#define _G_HAVE_MREMAP 1
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
#define _IO_IS_FILEBUF 0x2000
#define __SIZEOF_PTRDIFF_T__ 8
#define SEEK_SET 0
#define _IO_FLAGS2_NOTCANCEL 2
#define __errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg)))
#define _XOPEN_SOURCE_EXTENDED 1
#define __restrict_arr
#define __attribute_artificial__ __attribute__ ((__artificial__))
#define __USE_MISC 1
#define __UWORD_TYPE unsigned long int
#define __x86_64__ 1
#define _SIZE_T_
#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
#define _IO_iconv_t _G_iconv_t
#define _IO_USER_BUF 1
#define __INT_FAST16_MAX__ 9223372036854775807L
#define __stub_revoke
#define _IO_off_t __off_t
#define __UINT_FAST32_MAX__ 18446744073709551615UL
#define __UINT_LEAST64_TYPE__ long unsigned int
#define __U64_TYPE unsigned long int
#define __FLT_HAS_QUIET_NAN__ 1
#define _IO_STDIO_H
#define __FLT_MAX_10_EXP__ 38
#define __LONG_MAX__ 9223372036854775807L
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
#define __FLT_HAS_INFINITY__ 1
#define __UINT_FAST16_TYPE__ long unsigned int
#define __bos0(ptr) __builtin_object_size (ptr, 0)
#define __DEC64_MAX__ 9.999999999999999E384DD
#define NULL __null
#define __CHAR16_TYPE__ short unsigned int
#define __PRAGMA_REDEFINE_EXTNAME 1
#define __USING_NAMESPACE_C99(name)
#define _VA_LIST_DEFINED
#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE
#define _IO_size_t size_t
#define __INT_LEAST16_MAX__ 32767
#define __stub_lchmod
#define __DEC64_MANT_DIG__ 16
#define __UINT_LEAST32_MAX__ 4294967295U
#define __GCC_ATOMIC_LONG_LOCK_FREE 2
#define __INT_LEAST64_TYPE__ long int
#define __INT16_TYPE__ short int
#define __INT_LEAST8_TYPE__ signed char
#define __DEC32_MAX_EXP__ 97
#define SEEK_HOLE 4
#define __INT_FAST8_MAX__ 127
#define __PMT(args) args
#define __INTPTR_MAX__ 9223372036854775807L
#define _OLD_STDIO_MAGIC 0xFABC0000
#define linux 1
#define _IOS_APPEND 8
#define ____FILE_defined 1
#define _IOLBF 1
#define _IO_UPPERCASE 01000
#define __SSE2__ 1
#define __KEY_T_TYPE __S32_TYPE
#define __EXCEPTIONS 1
#define __WORDSIZE 64
#define __BEGIN_DECLS extern "C" {
#define __LDBL_MANT_DIG__ 64
#define __USE_ANSI 1
#define __DBL_HAS_QUIET_NAN__ 1
#define _IO_BAD_SEEN 0x4000
#define __GNUC_VA_LIST
#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
#define __code_model_small__ 1
#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE
#define FILENAME_MAX 4096
#define __ARITHMETIC_H_
#define __k8__ 1
#define __INTPTR_TYPE__ long int
#define __UINT16_TYPE__ short unsigned int
#define __WCHAR_TYPE__ int
#define __CLOCKID_T_TYPE __S32_TYPE
#define __SIZEOF_FLOAT__ 4
#define _IOS_TRUNC 16
#define __HAVE_COLUMN
#define __stub_fdetach
#define __UINTPTR_MAX__ 18446744073709551615UL
#define __DEC64_MIN_EXP__ (-382)
#define __stub_chflags
#define putc(_ch,_fp) _IO_putc (_ch, _fp)
#define __UQUAD_TYPE unsigned long int
#define __INT_FAST64_MAX__ 9223372036854775807L
#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
#define BUFSIZ _IO_BUFSIZ
#define __FLT_DIG__ 6
#define __FSID_T_TYPE struct { int __val[2]; }
#define __UINT_FAST64_TYPE__ long unsigned int
#define _IO_putc_unlocked(_ch,_fp) (_IO_BE ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end, 0) ? __overflow (_fp, (unsigned char) (_ch)) : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))
#define __LDBL_REDIR_DECL(name)
#define __INT_MAX__ 2147483647
#define __amd64__ 1
#define __S16_TYPE short int
#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
#define _T_SIZE_
#define _G_va_list __gnuc_va_list
#define _IOS_INPUT 1
#define __USE_LARGEFILE64 1
#define __INT64_TYPE__ long int
#define __FLT_MAX_EXP__ 128
#define __ORDER_BIG_ENDIAN__ 4321
#define __DBL_MANT_DIG__ 53
#define ___int_size_t_h
#define __TIMER_T_TYPE void *
#define __INT_LEAST64_MAX__ 9223372036854775807L
#define __GLIBC_MINOR__ 17
#define __DEC64_MIN__ 1E-383DD
#define __WINT_TYPE__ unsigned int
#define __UINT_LEAST32_TYPE__ unsigned int
#define __SIZEOF_SHORT__ 2
#define __SSE__ 1
#define __LDBL_MIN_EXP__ (-16381)
#define _IO_va_list __gnuc_va_list
#define stdout stdout
#define __REDIRECT_NTHNL(name,proto,alias) name proto __THROWNL __asm__ (__ASMNAME (#alias))
#define EOF (-1)
#define __INT_LEAST8_MAX__ 127
#define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
#define __USE_POSIX199309 1
#define ____mbstate_t_defined 1
#define __SIZEOF_INT128__ 16
#define __BLKCNT64_T_TYPE __SQUAD_TYPE
#define __LDBL_MAX_10_EXP__ 4932
#define __ATOMIC_RELAXED 0
#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE
#define __DBL_EPSILON__ double(2.22044604925031308085e-16L)
#define __stub_stty
#define _SIZET_
#define _SVID_SOURCE 1
#define _LP64 1
#define __REDIRECT_NTH_LDBL(name,proto,alias) __REDIRECT_NTH (name, proto, alias)
#define __UINT8_C(c) c
#define __INT_LEAST32_TYPE__ int
#define SEEK_END 2
#define __SIZEOF_WCHAR_T__ 4
#define __UINT64_TYPE__ long unsigned int
#define _ISOC99_SOURCE 1
#define __REDIRECT_NTH(name,proto,alias) name proto __THROW __asm__ (__ASMNAME (#alias))
#define _IO_RIGHT 04
#define __END_NAMESPACE_STD
#define _LARGEFILE64_SOURCE 1
#define max(a,b) ( (a) > (b) ? (a) : (b) )
#define __INT_FAST8_TYPE__ signed char
#define __PID_T_TYPE __S32_TYPE
#define P_tmpdir "/tmp"
#define __WORDSIZE_TIME64_COMPAT32 1
#define _IO_stdin ((_IO_FILE*)(&_IO_2_1_stdin_))
#define _IO_cleanup_region_start(_fct,_fp)
#define _IO_NO_READS 4
#define _IO_DEC 020
#define __DBL_DECIMAL_DIG__ 17
#define __FXSR__ 1
#define __DEC_EVAL_METHOD__ 2
#define _SIZE_T
#define _IO_ERR_SEEN 0x20
#define __ULONG32_TYPE unsigned int
#define FOPEN_MAX 16
#define _IO_STDIO 040000
#define __off_t_defined
#define _IO_IS_APPENDING 0x1000
#define _GCC_SIZE_T
#define __INO64_T_TYPE __UQUAD_TYPE
#define __USE_XOPEN2K8XSI 1
#define __UINT32_C(c) c ## U
#define __INTMAX_MAX__ 9223372036854775807L
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __size_t__
#define _IO_BUFSIZ _G_BUFSIZ
#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F
#define __BEGIN_NAMESPACE_C99
#define __INT8_MAX__ 127
#define __UINT_FAST32_TYPE__ long unsigned int
#define __INO_T_MATCHES_INO64_T 1
#define _IO_fpos_t _G_fpos_t
#define __CHAR32_TYPE__ unsigned int
#define __FLT_MAX__ 3.40282346638528859812e+38F
#define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
#define __INT32_TYPE__ int
#define __SIZEOF_DOUBLE__ 8
#define _IO_BE(expr,res) __builtin_expect ((expr), res)
#define __SWORD_TYPE long int
#define __INTMAX_TYPE__ long int
#define __DEC128_MAX_EXP__ 6145
#define _T_SIZE
#define __va_arg_pack() __builtin_va_arg_pack ()
#define __ATOMIC_CONSUME 1
#define _IO_stdout ((_IO_FILE*)(&_IO_2_1_stdout_))
#define __GNUC_MINOR__ 8
#define __UINTMAX_MAX__ 18446744073709551615UL
#define __DEC32_MANT_DIG__ 7
#define __DBL_MAX_10_EXP__ 308
#define __FILE_defined 1
#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
#define __USE_XOPEN_EXTENDED 1
#define __INT16_C(c) c
#define __U32_TYPE unsigned int
#define __STDC__ 1
#define __attribute_malloc__ __attribute__ ((__malloc__))
#define __PTRDIFF_TYPE__ long int
#define _G_IO_IO_FILE_VERSION 0x20001
#define __attribute_noinline__ __attribute__ ((__noinline__))
#define _IO_HEX 0100
#define __ATOMIC_SEQ_CST 5
#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE
#define _IO_fpos64_t _G_fpos64_t
#define __UINT32_TYPE__ unsigned int
#define __UINTPTR_TYPE__ long unsigned int
#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
#define __DEC128_MANT_DIG__ 34
#define __LDBL_MIN_10_EXP__ (-4931)
#define __attribute_deprecated__ __attribute__ ((__deprecated__))
#define __SSE_MATH__ 1
#define _IO_wint_t wint_t
#define __SIZEOF_LONG_LONG__ 8
#define __USE_ATFILE 1
#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
#define __LDBL_DIG__ 18
#define __FLT_DECIMAL_DIG__ 9
#define __UINT_FAST16_MAX__ 18446744073709551615UL
#define __GNUC_GNU_INLINE__ 1
#define __FLT_MIN_10_EXP__ (-37)
#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
#define _IO_ftrylockfile(_fp)
#define __glibc_likely(cond) __builtin_expect((cond), 1)
#define __UINT_FAST8_TYPE__ unsigned char
#define _GNU_SOURCE 1
#define __P(args) args
#define __ATOMIC_ACQ_REL 4
#define __ATOMIC_RELEASE 3
#define _IO_peekc(_fp) _IO_peekc_unlocked (_fp)
尾声:
如果不知道如何寻找头文件,可以参考:gcc/g++:预编译阶段寻找头文件-CSDN博客