📄 config_info.cpp
字号:
PRINT_MACRO(_STLP_NO_TEMPLATE_CONVERSIONS);
PRINT_MACRO(_STLP_NO_WCHAR_T);
PRINT_MACRO(_STLP_NON_TYPE_TMPL_PARAM_BUG);
PRINT_MACRO(_STLP_NONTEMPL_BASE_MATCH_BUG);
PRINT_MACRO(_STLP_OWN_IOSTREAMS);
PRINT_MACRO(_STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS);
PRINT_MACRO(_STLP_RAND48);
PRINT_MACRO(_STLP_STATIC_ARRAY_BUG);
PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG);
PRINT_MACRO(_STLP_STATIC_CONST_INIT_BUG);
PRINT_MACRO(_STLP_THROW_RETURN_BUG);
PRINT_MACRO(_STLP_TRIVIAL_CONSTRUCTOR_BUG);
PRINT_MACRO(_STLP_TRIVIAL_DESTRUCTOR_BUG);
PRINT_MACRO(_STLP_UNINITIALIZABLE_PRIVATE);
PRINT_MACRO(_STLP_USE_ABBREVS);
PRINT_MACRO(_STLP_USE_DEFALLOC);
PRINT_MACRO(_STLP_USE_MALLOC);
PRINT_MACRO(_STLP_USE_NEW_C_HEADERS);
PRINT_MACRO(_STLP_USE_NEWALLOC);
PRINT_MACRO(_STLP_USE_OWN_NAMESPACE);
PRINT_MACRO(_STLP_USE_SGI_ALLOCATORS);
PRINT_MACRO(_STLP_WCHAR_T_IS_USHORT);
PRINT_MACRO(_STLP_WEAK_ATTRIBUTE);
PRINT_MACRO(_STLP_YVALS_H);
#endif
PRINT_MACRO(__GLIBCPP__);
PRINT_MACRO(_GLIBCPP_USE_WCHAR_T);
PRINT_MACRO(_GLIBCPP_VERSION);
// Modena C++ standard library
PRINT_MACRO(MSIPL_ANSI_HEADER);
PRINT_MACRO(MSIPL_BOOL_BUILTIN);
PRINT_MACRO(MSIPL_DEF_EXPLICIT);
PRINT_MACRO(MSIPL_DEF_TEMPARG);
PRINT_MACRO(MSIPL_EXPINST_ALLOWED);
PRINT_MACRO(MSIPL_EXPLICIT_FUNC_TEMPLATE_ARG);
PRINT_MACRO(MISPL_EXPLICIT_TEMPLATE_ARGUMENT);
PRINT_MACRO(MSIPL_FUNC_TEMPLATE_DEFARG);
PRINT_MACRO(MSIPL_MEMBER_TEMPLATE);
PRINT_MACRO(MSIPL_MULTITHREAD);
PRINT_MACRO(MSIPL_NON_TYPE_TEMPARG);
PRINT_MACRO(MSIPL_PARTIAL_TEMPL);
PRINT_MACRO(MSIPL_STATIC_CONST_INIT);
PRINT_MACRO(MSIPL_TEMPL_NEWSPEC);
PRINT_MACRO(MSIPL_TYPENAME);
PRINT_MACRO(MSIPL_USING_NAMESPACE);
PRINT_MACRO(MSIPL_WCHART);
}
void print_platform_macros()
{
std::cout << "Detected Platform: " << BOOST_PLATFORM << std::endl;
// signedness:
PRINT_SIGN(char);
PRINT_SIGN(wchar_t);
// byte ordering:
PRINT_ORDER(short);
PRINT_ORDER(int);
PRINT_ORDER(long);
// sizes:
PRINT_EXPRESSION(sizeof(wchar_t));
PRINT_EXPRESSION(sizeof(short));
PRINT_EXPRESSION(sizeof(int));
PRINT_EXPRESSION(sizeof(long));
PRINT_EXPRESSION(sizeof(float));
PRINT_EXPRESSION(sizeof(double));
PRINT_EXPRESSION(sizeof(long double));
// limits:
PRINT_MACRO(CHAR_BIT);
PRINT_MACRO(CHAR_MAX);
PRINT_MACRO(WCHAR_MAX);
PRINT_MACRO(SHRT_MAX);
PRINT_MACRO(INT_MAX);
PRINT_MACRO(LONG_MAX);
PRINT_MACRO(LLONG_MAX);
PRINT_MACRO(LONG_LONG_MAX);
PRINT_MACRO(LONGLONG_MAX);
PRINT_MACRO(ULLONG_MAX); // <boost/cstdint.hpp> uses these, so we need to know them
PRINT_MACRO(ULONG_LONG_MAX);
PRINT_MACRO(ULONGLONG_MAX);
// general C99:
PRINT_MACRO(__STDC_IEC_559__);
PRINT_MACRO(__STDC_IEC_559_COMPLEX__);
PRINT_MACRO(__STDC_ISO_10646__);
// GNU:
PRINT_MACRO(__GLIBC__);
PRINT_MACRO(__GLIBC_MINOR__);
PRINT_MACRO(__GNU_LIBRARY__);
PRINT_MACRO(_BSD_SOURCE);
PRINT_MACRO(_FILE_OFFSET_BITS);
PRINT_MACRO(_GNU_SOURCE);
PRINT_MACRO(_ISOC99_SOURCE);
PRINT_MACRO(_ISOC9X_SOURCE);
PRINT_MACRO(_LARGEFILE_SOURCE);
PRINT_MACRO(_LARGEFILE64_SOURCE);
PRINT_MACRO(_SVID_SOURCE);
PRINT_MACRO(_THREAD_SAFE);
PRINT_MACRO(_XOPEN_SOURCE_EXTENDED);
PRINT_MACRO(XPG);
// POSIX:
PRINT_MACRO(_POSIX_ADVISORY_INFO);
PRINT_MACRO(_POSIX_ASYNCHRONOUS_IO);
PRINT_MACRO(_POSIX_BARRIERS);
PRINT_MACRO(_POSIX_C_SOURCE);
PRINT_MACRO(_POSIX_CHOWN_RESTRICTED);
PRINT_MACRO(_POSIX_CLOCK_SELECTION);
PRINT_MACRO(_POSIX_CPUTIME);
PRINT_MACRO(_POSIX_FSYNC);
PRINT_MACRO(_POSIX_JOB_CONTROL);
PRINT_MACRO(_POSIX_MAPPED_FILES);
PRINT_MACRO(_POSIX_MEMLOCK);
PRINT_MACRO(_POSIX_MEMLOCK_RANGE);
PRINT_MACRO(_POSIX_MEMORY_PROTECTION);
PRINT_MACRO(_POSIX_MESSAGE_PASSING);
PRINT_MACRO(_POSIX_MONOTONIC_CLOCK);
PRINT_MACRO(_POSIX_NO_TRUNC);
PRINT_MACRO(_POSIX_PRIORITIZED_IO);
PRINT_MACRO(_POSIX_PRIORITY_SCHEDULING);
PRINT_MACRO(_POSIX_RAW_SOCKETS);
PRINT_MACRO(_POSIX_READER_WRITER_LOCKS);
PRINT_MACRO(_POSIX_REALTIME_SIGNALS);
PRINT_MACRO(_POSIX_REGEXP);
PRINT_MACRO(_POSIX_SAVED_IDS);
PRINT_MACRO(_POSIX_SEMAPHORES);
PRINT_MACRO(_POSIX_SHARED_MEMORY_OBJECTS);
PRINT_MACRO(_POSIX_SHELL);
PRINT_MACRO(_POSIX_SOURCE);
PRINT_MACRO(_POSIX_SPAWN);
PRINT_MACRO(_POSIX_SPIN_LOCKS);
PRINT_MACRO(_POSIX_SPORADIC_SERVER);
PRINT_MACRO(_POSIX_SYNCHRONIZED_IO);
PRINT_MACRO(_POSIX_THREAD_ATTR_STACKADDR);
PRINT_MACRO(_POSIX_THREAD_ATTR_STACKSIZE);
PRINT_MACRO(_POSIX_THREAD_CPUTIME);
PRINT_MACRO(_POSIX_THREAD_PRIO_INHERIT);
PRINT_MACRO(_POSIX_THREAD_PRIO_PROTECT);
PRINT_MACRO(_POSIX_THREAD_PRIORITY_SCHEDULING);
PRINT_MACRO(_POSIX_THREAD_PROCESS_SHARED);
PRINT_MACRO(_POSIX_THREAD_SAFE_FUNCTIONS);
PRINT_MACRO(_POSIX_THREAD_SPORADIC_SERVER);
PRINT_MACRO(_POSIX_THREADS);
PRINT_MACRO(_POSIX_TIMEOUTS);
PRINT_MACRO(_POSIX_TIMERS);
PRINT_MACRO(_POSIX_TRACE);
PRINT_MACRO(_POSIX_TRACE_EVENT_FILTER);
PRINT_MACRO(_POSIX_TRACE_INHERIT);
PRINT_MACRO(_POSIX_TRACE_LOG);
PRINT_MACRO(_POSIX_TYPED_MEMORY_OBJECTS);
PRINT_MACRO(_POSIX_VDISABLE);
PRINT_MACRO(_POSIX_VERSION);
PRINT_MACRO(_POSIX2_C_BIND);
PRINT_MACRO(_POSIX2_C_DEV);
PRINT_MACRO(_POSIX2_CHAR_TERM);
PRINT_MACRO(_POSIX2_FORT_DEV);
PRINT_MACRO(_POSIX2_FORT_RUN);
PRINT_MACRO(_POSIX2_LOCALEDEF);
PRINT_MACRO(_POSIX2_PBS);
PRINT_MACRO(_POSIX2_PBS_ACCOUNTING);
PRINT_MACRO(_POSIX2_PBS_CHECKPOINT);
PRINT_MACRO(_POSIX2_PBS_LOCATE);
PRINT_MACRO(_POSIX2_PBS_MESSAGE);
PRINT_MACRO(_POSIX2_PBS_TRACK);
PRINT_MACRO(_POSIX2_SW_DEV);
PRINT_MACRO(_POSIX2_UPE);
PRINT_MACRO(_POSIX2_VERSION);
PRINT_MACRO(_V6_ILP32_OFF32);
PRINT_MACRO(_V6_ILP32_OFFBIG);
PRINT_MACRO(_V6_LP64_OFF64);
PRINT_MACRO(_V6_LPBIG_OFFBIG);
PRINT_MACRO(_XBS5_ILP32_OFF32);
PRINT_MACRO(_XBS5_ILP32_OFFBIG);
PRINT_MACRO(_XBS5_LP64_OFF64);
PRINT_MACRO(_XBS5_LPBIG_OFFBIG);
PRINT_MACRO(_XOPEN_CRYPT);
PRINT_MACRO(_XOPEN_ENH_I18N);
PRINT_MACRO(_XOPEN_LEGACY);
PRINT_MACRO(_XOPEN_REALTIME);
PRINT_MACRO(_XOPEN_REALTIME_THREADS);
PRINT_MACRO(_XOPEN_SHM);
PRINT_MACRO(_XOPEN_SOURCE);
PRINT_MACRO(_XOPEN_STREAMS);
PRINT_MACRO(_XOPEN_UNIX);
PRINT_MACRO(_XOPEN_VERSION);
}
void print_boost_macros()
{
std::cout << "Boost version " << BOOST_STRINGIZE(BOOST_VERSION) << std::endl;
// config setup macros first:
PRINT_MACRO(BOOST_USER_CONFIG);
PRINT_MACRO(BOOST_COMPILER_CONFIG);
PRINT_MACRO(BOOST_STDLIB_CONFIG);
PRINT_MACRO(BOOST_PLATFORM_CONFIG);
PRINT_MACRO(BOOST_NO_CONFIG);
PRINT_MACRO(BOOST_NO_USER_CONFIG);
PRINT_MACRO(BOOST_NO_COMPILER_CONFIG);
PRINT_MACRO(BOOST_NO_STDLIB_CONFIG);
PRINT_MACRO(BOOST_NO_PLATFORM_CONFIG);
// then defect and feature macros:
PRINT_MACRO(BOOST_BCB_PARTIAL_SPECIALIZATION_BUG);
PRINT_MACRO(BOOST_DEDUCED_TYPENAME);
PRINT_MACRO(BOOST_DISABLE_THREADS);
PRINT_MACRO(BOOST_DISABLE_WIN32);
PRINT_MACRO(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL);
PRINT_MACRO(BOOST_HAS_BETHREADS);
PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME);
PRINT_MACRO(BOOST_HAS_DECLSPEC);
PRINT_MACRO(BOOST_HAS_DIRENT_H);
PRINT_MACRO(BOOST_HAS_FTIME);
PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY);
PRINT_MACRO(BOOST_HAS_HASH);
PRINT_MACRO(BOOST_HAS_LONG_LONG);
PRINT_MACRO(BOOST_HAS_MACRO_USE_FACET);
PRINT_MACRO(BOOST_HAS_MS_INT64);
PRINT_MACRO(BOOST_HAS_NANOSLEEP);
PRINT_MACRO(BOOST_HAS_NL_TYPES_H);
PRINT_MACRO(BOOST_HAS_NRVO);
PRINT_MACRO(BOOST_HAS_PARTIAL_STD_ALLOCATOR);
PRINT_MACRO(BOOST_HAS_PTHREAD_DELAY_NP);
PRINT_MACRO(BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE);
PRINT_MACRO(BOOST_HAS_PTHREAD_YIELD);
PRINT_MACRO(BOOST_HAS_PTHREADS);
PRINT_MACRO(BOOST_HAS_SCHED_YIELD);
PRINT_MACRO(BOOST_HAS_SIGACTION);
PRINT_MACRO(BOOST_HAS_SGI_TYPE_TRAITS);
PRINT_MACRO(BOOST_HAS_STDINT_H);
PRINT_MACRO(BOOST_HAS_SLIST);
PRINT_MACRO(BOOST_HAS_STLP_USE_FACET);
PRINT_MACRO(BOOST_HAS_THREADS);
PRINT_MACRO(BOOST_HAS_TWO_ARG_USE_FACET);
PRINT_MACRO(BOOST_HAS_UNISTD_H);
PRINT_MACRO(BOOST_HAS_WINTHREADS);
PRINT_MACRO(BOOST_INTEL);
PRINT_MACRO(BOOST_MSVC);
PRINT_MACRO(BOOST_MSVC_STD_ITERATOR);
PRINT_MACRO(BOOST_MSVC6_MEMBER_TEMPLATES);
PRINT_MACRO(BOOST_NESTED_TEMPLATE);
PRINT_MACRO(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP);
PRINT_MACRO(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS);
PRINT_MACRO(BOOST_NO_AUTO_PTR);
PRINT_MACRO(BOOST_NO_CTYPE_FUNCTIONS);
PRINT_MACRO(BOOST_NO_CV_SPECIALIZATIONS);
PRINT_MACRO(BOOST_NO_CV_VOID_SPECIALIZATIONS);
PRINT_MACRO(BOOST_NO_CWCHAR);
PRINT_MACRO(BOOST_NO_CWCTYPE);
PRINT_MACRO(BOOST_NO_DEDUCED_TYPENAME);
PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS);
PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS);
PRINT_MACRO(BOOST_NO_EXCEPTIONS);
PRINT_MACRO(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS);
PRINT_MACRO(BOOST_NO_FUNCTION_TEMPLATE_ORDERING);
PRINT_MACRO(BOOST_NO_HASH);
PRINT_MACRO(BOOST_NO_INCLASS_MEMBER_INITIALIZATION);
PRINT_MACRO(BOOST_NO_INT64_T);
PRINT_MACRO(BOOST_NO_INTEGRAL_INT64_T);
PRINT_MACRO(BOOST_NO_INTRINSIC_WCHAR_T);
PRINT_MACRO(BOOST_NO_LIMITS);
PRINT_MACRO(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS);
PRINT_MACRO(BOOST_NO_LONG_LONG_NUMERIC_LIMITS);
PRINT_MACRO(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS);
PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_KEYWORD);
PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATE_FRIENDS);
PRINT_MACRO(BOOST_NO_MEMBER_TEMPLATES);
PRINT_MACRO(BOOST_NO_MS_INT64_NUMERIC_LIMITS);
PRINT_MACRO(BOOST_NO_OPERATORS_IN_NAMESPACE);
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST);
PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE);
PRINT_MACRO(BOOST_NO_SFINAE);
PRINT_MACRO(BOOST_NO_SLIST);
PRINT_MACRO(BOOST_NO_STD_ALLOCATOR);
PRINT_MACRO(BOOST_NO_STD_DISTANCE);
PRINT_MACRO(BOOST_NO_STD_ITERATOR);
PRINT_MACRO(BOOST_NO_STD_ITERATOR_TRAITS);
PRINT_MACRO(BOOST_NO_STD_LOCALE);
PRINT_MACRO(BOOST_NO_STD_MESSAGES);
PRINT_MACRO(BOOST_NO_STD_MIN_MAX);
PRINT_MACRO(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN);
PRINT_MACRO(BOOST_NO_STD_USE_FACET);
PRINT_MACRO(BOOST_NO_STD_WSTREAMBUF);
PRINT_MACRO(BOOST_NO_STD_WSTRING);
PRINT_MACRO(BOOST_NO_STDC_NAMESPACE);
PRINT_MACRO(BOOST_NO_STRINGSTREAM);
PRINT_MACRO(BOOST_NO_SWPRINTF);
PRINT_MACRO(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION);
PRINT_MACRO(BOOST_NO_TEMPLATE_TEMPLATES);
PRINT_MACRO(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS);
PRINT_MACRO(BOOST_NO_UNREACHABLE_RETURN_DETECTION);
PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE);
PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0));
}
void print_separator()
{
std::cout <<
"\n\n*********************************************************************\n\n";
}
int main()
{
// boost compiler workaround defines
print_compiler_macros();
print_separator();
print_stdlib_macros();
print_separator();
print_platform_macros();
print_separator();
print_boost_macros();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -