c++ - Is there difference between the list of preprocessor directives generated in 32 bit linux machine than those generated for 64 bit linux machine? -


i generating list of preprocessor directive using gcc -dm -e - < /dev/null on linux machine i686 32 bit , huge number number of directives. want know if linux machine 64 bit these preprocessor directives going different?

what specific directives change 64 bit linux machine?

also x86_64 directive used 64 bit linux machine have directive i686 32 bit machine?

yes list different (not completely). have different values size definitions etc. list can vary between compiler , system versions.

you can use directives identify architecture , system eg: #define __x86_64 1 #define __amd64__ 1 #define __linux__ 1

#ifdef __amd64__ #include <someheader> #endif 

here list linux x64 (gcc 5.3 libc 2.22)

#define __dbl_min_exp__ (-1021) #define __uint_least16_max__ 0xffff #define __atomic_acquire 2 #define __flt_min__ 1.17549435082228750797e-38f #define __gcc_iec_559_complex 2 #define __uint_least8_type__ unsigned char #define __sizeof_float80__ 16 #define __intmax_c(c) c ## l #define __char_bit__ 8 #define __uint8_max__ 0xff #define __wint_max__ 0xffffffffu #define __order_little_endian__ 1234 #define __size_max__ 0xfffffffffffffffful #define __wchar_max__ 0x7fffffff #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 __gcc_iec_559 2 #define __flt_eval_method__ 0 #define __unix__ 1 #define __gcc_atomic_char32_t_lock_free 2 #define __x86_64 1 #define __uint_fast64_max__ 0xfffffffffffffffful #define __sig_atomic_type__ int #define __dbl_min_10_exp__ (-307) #define __finite_math_only__ 0 #define __gnuc_patchlevel__ 0 #define __uint_fast8_max__ 0xff #define __has_include(str) __has_include__(str) #define __dec64_max_exp__ 385 #define __int8_c(c) c #define __uint_least64_max__ 0xfffffffffffffffful #define __shrt_max__ 0x7fff #define __ldbl_max__ 1.18973149535723176502e+4932l #define __uint_least8_max__ 0xff #define __gcc_atomic_bool_lock_free 2 #define __uintmax_type__ long unsigned int #define __linux 1 #define __dec32_epsilon__ 1e-6df #define __unix 1 #define __uint32_max__ 0xffffffffu #define __ldbl_max_exp__ 16384 #define __wint_min__ 0u #define __linux__ 1 #define __schar_max__ 0x7f #define __wchar_min__ (-__wchar_max__ - 1) #define __int64_c(c) c ## l #define __dbl_dig__ 15 #define __gcc_atomic_pointer_lock_free 2 #define __sizeof_int__ 4 #define __sizeof_pointer__ 8 #define __user_label_prefix__ #define __stdc_hosted__ 1 #define __ldbl_has_infinity__ 1 #define __flt_epsilon__ 1.19209289550781250000e-7f #define __ldbl_min__ 3.36210314311209350626e-4932l #define __stdc_utf_16__ 1 #define __dec32_max__ 9.999999e96df #define __int32_max__ 0x7fffffff #define __sizeof_long__ 8 #define __stdc_iec_559__ 1 #define __stdc_iso_10646__ 201304l #define __uint16_c(c) c #define __decimal_dig__ 21 #define __gnu_linux__ 1 #define __has_include_next(str) __has_include_next__(str) #define __ldbl_has_quiet_nan__ 1 #define __gnuc__ 5 #define __mmx__ 1 #define __flt_has_denorm__ 1 #define __sizeof_long_double__ 16 #define __biggest_alignment__ 16 #define __dbl_max__ ((double)1.79769313486231570815e+308l) #define __int_fast32_max__ 0x7fffffffffffffffl #define __dbl_has_infinity__ 1 #define __dec32_min_exp__ (-94) #define __int_fast16_type__ long int #define __ldbl_has_denorm__ 1 #define __dec128_max__ 9.999999999999999999999999999999999e6144dl #define __int_least32_max__ 0x7fffffff #define __dec32_min__ 1e-95df #define __dbl_max_exp__ 1024 #define __dec128_epsilon__ 1e-33dl #define __sse2_math__ 1 #define __atomic_hle_release 131072 #define __ptrdiff_max__ 0x7fffffffffffffffl #define __amd64 1 #define __stdc_no_threads__ 1 #define __atomic_hle_acquire 65536 #define __long_long_max__ 0x7fffffffffffffffll #define __sizeof_size_t__ 8 #define __sizeof_wint_t__ 4 #define __gcc_have_dwarf2_cfi_asm 1 #define __gxx_abi_version 1009 #define __flt_min_exp__ (-125) #define __int_fast64_type__ long int #define __dbl_min__ ((double)2.22507385850720138309e-308l) #define __lp64__ 1 #define __decimal_bid_format__ 1 #define __dec128_min__ 1e-6143dl #define __register_prefix__ #define __uint16_max__ 0xffff #define __dbl_has_denorm__ 1 #define __uint8_type__ unsigned char #define __no_inline__ 1 #define __flt_mant_dig__ 24 #define __version__ "5.3.0" #define __uint64_c(c) c ## ul #define _stdc_predef_h 1 #define __gcc_atomic_int_lock_free 2 #define __float_word_order__ __order_little_endian__ #define __stdc_iec_559_complex__ 1 #define __int32_c(c) c #define __dec64_epsilon__ 1e-15dd #define __order_pdp_endian__ 3412 #define __dec128_min_exp__ (-6142) #define __int_fast32_type__ long int #define __uint_least16_type__ short unsigned int #define unix 1 #define __int16_max__ 0x7fff #define __size_type__ long unsigned int #define __uint64_max__ 0xfffffffffffffffful #define __int8_type__ signed char #define __elf__ 1 #define __flt_radix__ 2 #define __int_least16_type__ short int #define __ldbl_epsilon__ 1.08420217248550443401e-19l #define __uintmax_c(c) c ## ul #define __sse_math__ 1 #define __k8 1 #define __sig_atomic_max__ 0x7fffffff #define __gcc_atomic_wchar_t_lock_free 2 #define __sizeof_ptrdiff_t__ 8 #define __x86_64__ 1 #define __dec32_subnormal_min__ 0.000001e-95df #define __int_fast16_max__ 0x7fffffffffffffffl #define __uint_fast32_max__ 0xfffffffffffffffful #define __uint_least64_type__ long unsigned int #define __flt_has_quiet_nan__ 1 #define __flt_max_10_exp__ 38 #define __long_max__ 0x7fffffffffffffffl #define __dec128_subnormal_min__ 0.000000000000000000000000000000001e-6143dl #define __flt_has_infinity__ 1 #define __uint_fast16_type__ long unsigned int #define __dec64_max__ 9.999999999999999e384dd #define __char16_type__ short unsigned int #define __pragma_redefine_extname 1 #define __int_least16_max__ 0x7fff #define __dec64_mant_dig__ 16 #define __int64_max__ 0x7fffffffffffffffl #define __uint_least32_max__ 0xffffffffu #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 __stdc_version__ 201112l #define __dec32_max_exp__ 97 #define __int_fast8_max__ 0x7f #define __intptr_max__ 0x7fffffffffffffffl #define linux 1 #define __sse2__ 1 #define __ldbl_mant_dig__ 64 #define __dbl_has_quiet_nan__ 1 #define __sig_atomic_min__ (-__sig_atomic_max__ - 1) #define __code_model_small__ 1 #define __k8__ 1 #define __intptr_type__ long int #define __uint16_type__ short unsigned int #define __wchar_type__ int #define __sizeof_float__ 4 #define __uintptr_max__ 0xfffffffffffffffful #define __dec64_min_exp__ (-382) #define __int_fast64_max__ 0x7fffffffffffffffl #define __gcc_atomic_test_and_set_trueval 1 #define __flt_dig__ 6 #define __uint_fast64_type__ long unsigned int #define __int_max__ 0x7fffffff #define __amd64__ 1 #define __int64_type__ long int #define __flt_max_exp__ 128 #define __order_big_endian__ 4321 #define __dbl_mant_dig__ 53 #define __sizeof_float128__ 16 #define __int_least64_max__ 0x7fffffffffffffffl #define __gcc_atomic_char16_t_lock_free 2 #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 __int_least8_max__ 0x7f #define __sizeof_int128__ 16 #define __ldbl_max_10_exp__ 4932 #define __atomic_relaxed 0 #define __dbl_epsilon__ ((double)2.22044604925031308085e-16l) #define _lp64 1 #define __uint8_c(c) c #define __int_least32_type__ int #define __sizeof_wchar_t__ 4 #define __uint64_type__ long unsigned int #define __int_fast8_type__ signed char #define __gnuc_stdc_inline__ 1 #define __dbl_decimal_dig__ 17 #define __stdc_utf_32__ 1 #define __fxsr__ 1 #define __dec_eval_method__ 2 #define __uint32_c(c) c ## u #define __intmax_max__ 0x7fffffffffffffffl #define __byte_order__ __order_little_endian__ #define __flt_denorm_min__ 1.40129846432481707092e-45f #define __int8_max__ 0x7f #define __uint_fast32_type__ long unsigned int #define __char32_type__ unsigned int #define __flt_max__ 3.40282346638528859812e+38f #define __int32_type__ int #define __sizeof_double__ 8 #define __flt_min_10_exp__ (-37) #define __intmax_type__ long int #define __dec128_max_exp__ 6145 #define __atomic_consume 1 #define __gnuc_minor__ 3 #define __uintmax_max__ 0xfffffffffffffffful #define __dec32_mant_dig__ 7 #define __dbl_max_10_exp__ 308 #define __ldbl_denorm_min__ 3.64519953188247460253e-4951l #define __int16_c(c) c #define __stdc__ 1 #define __ptrdiff_type__ long int #define __atomic_seq_cst 5 #define __uint32_type__ unsigned int #define __uintptr_type__ long unsigned int #define __dec64_subnormal_min__ 0.000000000000001e-383dd #define __dec128_mant_dig__ 34 #define __ldbl_min_10_exp__ (-4931) #define __sizeof_long_long__ 8 #define __gcc_atomic_llong_lock_free 2 #define __ldbl_dig__ 18 #define __flt_decimal_dig__ 9 #define __uint_fast16_max__ 0xfffffffffffffffful #define __gcc_atomic_short_lock_free 2 #define __uint_fast8_type__ unsigned char #define __atomic_acq_rel 4 #define __atomic_release 3 

Comments

Popular posts from this blog

Hatching array of circles in AutoCAD using c# -

ios - UITEXTFIELD InputView Uipicker not working in swift -

Python Pig Latin Translator -