12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /*
- * Copyright Andrey Semashev 2017.
- * Distributed under the Boost Software License, Version 1.0.
- * (See accompanying file LICENSE_1_0.txt or copy at
- * http://www.boost.org/LICENSE_1_0.txt)
- */
- /*!
- * \file winapi_info.cpp
- * \author Andrey Semashev
- * \date 25.06.2017
- *
- * \brief This file contains a test that displays information about Windows SDK.
- */
- #define BOOST_USE_WINDOWS_H
- #include <windows.h>
- #include <boost/winapi/config.hpp>
- #include <stdio.h>
- #include <string.h>
- #include <boost/config.hpp>
- #include <boost/predef/platform/windows_uwp.h>
- void print_macro(const char* name, const char* value)
- {
- // If a macro is not defined, value will contain the macro name after the starting dot
- if (strcmp(name, value + 1) == 0)
- {
- printf("%s is not defined\n", name);
- }
- else
- {
- printf("%s: \"%s\"\n", name, value + 1);
- }
- }
- #define PRINT_MACRO(x) print_macro(#x, BOOST_STRINGIZE(.x))
- void print_winsdk_macros()
- {
- printf("Windows SDK macros:\n===================\n\n");
- PRINT_MACRO(_WIN32_WINNT);
- PRINT_MACRO(WINVER);
- PRINT_MACRO(NTDDI_VERSION);
- PRINT_MACRO(_WIN32_IE);
- PRINT_MACRO(BOOST_USE_WINAPI_VERSION);
- PRINT_MACRO(BOOST_NO_ANSI_APIS);
- PRINT_MACRO(BOOST_WINAPI_IS_MINGW);
- PRINT_MACRO(BOOST_WINAPI_IS_MINGW_W64);
- PRINT_MACRO(BOOST_WINAPI_IS_CYGWIN);
- PRINT_MACRO(BOOST_PLAT_WINDOWS_SDK_VERSION);
- PRINT_MACRO(__W32API_VERSION);
- PRINT_MACRO(__W32API_MAJOR_VERSION);
- PRINT_MACRO(__W32API_MINOR_VERSION);
- PRINT_MACRO(__W32API_PATCHLEVEL);
- PRINT_MACRO(WINAPI_FAMILY);
- PRINT_MACRO(UNDER_CE);
- PRINT_MACRO(_WIN32_WCE_EMULATION);
- PRINT_MACRO(WIN32);
- PRINT_MACRO(_WIN32);
- PRINT_MACRO(__WIN32__);
- PRINT_MACRO(_WIN64);
- PRINT_MACRO(__CYGWIN__);
- PRINT_MACRO(_X86_);
- PRINT_MACRO(_AMD64_);
- PRINT_MACRO(_IA64_);
- PRINT_MACRO(_ARM_);
- PRINT_MACRO(_ARM64_);
- PRINT_MACRO(_MAC);
- PRINT_MACRO(_MANAGED);
- PRINT_MACRO(UNICODE);
- PRINT_MACRO(_UNICODE);
- PRINT_MACRO(STRICT);
- PRINT_MACRO(NO_STRICT);
- PRINT_MACRO(WIN32_LEAN_AND_MEAN);
- printf("\n");
- PRINT_MACRO(WINBASEAPI);
- PRINT_MACRO(NTSYSAPI);
- PRINT_MACRO(WINAPI);
- PRINT_MACRO(NTAPI);
- PRINT_MACRO(CALLBACK);
- PRINT_MACRO(APIENTRY);
- PRINT_MACRO(BOOST_WINAPI_WINAPI_CC);
- PRINT_MACRO(BOOST_WINAPI_NTAPI_CC);
- PRINT_MACRO(BOOST_WINAPI_CALLBACK_CC);
- PRINT_MACRO(VOID);
- PRINT_MACRO(CONST);
- }
- int main(int, char*[])
- {
- print_winsdk_macros();
- return 0;
- }
|