简体   繁体   中英

What is an efficient way to list all macros defined in a Visual Studio C++ Project (with Visual Assist)?

I want to list all macros which were defined inside a certain Visual Studio 2010 Project or Solution. Is there an efficient way to list them with a Tool (might be Visal Assist, too). Or is there a good regex to find them all?

If there is an enhanced way to do this in Visual Studion 2015 I will be interested, too.

Taken from here ---> https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=msvc-160

    #define ProgramName " "
        fprintf(logfile, "Program %s build %s %s\n", ProgramName, __DATE__, __TIME__);
    #ifdef __func__ 
            fprintf(logfile, "SET #define __func__: %s\n", __func__);
    #endif
    #ifdef __cplusplus 
        fprintf(logfile, "SET #define __cplusplus: %lx\n", __cplusplus);
    #endif
    #ifdef __DATE__ 
        fprintf(logfile, "SET #define __DATE__: %s\n", __DATE__);
    #endif
    #ifdef __FILE__ 
        fprintf(logfile, "SET #define __FILE__: %s\n", __FILE__);
    #endif
    #ifdef __LINE__ 
        fprintf(logfile, "SET #define __LINE__: %lx\n", __LINE__);
    #endif
    #ifdef __STDC__ 
        fprintf(logfile, "SET #define __STDC__: %s\n", __STDC__);
    #endif
    #ifdef __STDC_HOSTED__ 
        fprintf(logfile, "SET #define __STDC_HOSTED__: %lx\n", __STDC_HOSTED__);
    #endif
    #ifdef __STDC_NO_ATOMICS__ 
        fprintf(logfile, "SET #define __STDC_NO_ATOMICS__: %s\n", __STDC_NO_ATOMICS__);
    #endif
    #ifdef __STDC_NO_COMPLEX__ 
        fprintf(logfile, "SET #define __STDC_NO_COMPLEX__: %s\n", __STDC_NO_COMPLEX__);
    #endif
    #ifdef __STDC_NO_THREADS__ 
        fprintf(logfile, "SET #define __STDC_NO_THREADS__: %s\n", __STDC_NO_THREADS__);
    #endif
    #ifdef __STDC_NO_VLA__ 
        fprintf(logfile, "SET #define __STDC_NO_VLA__: %s\n", __STDC_NO_VLA__);
    #endif
    #ifdef __STDC_VERSION__ 
        fprintf(logfile, "SET #define __STDC_VERSION__: %s\n", __STDC_VERSION__);
    #endif
    #ifdef __STDCPP_THREADS__ 
        fprintf(logfile, "SET #define __STDCPP_THREADS__: %lx\n", __STDCPP_THREADS__);
    #endif
    #ifdef __TIME__ 
        fprintf(logfile, "SET #define __TIME__: %s\n", __TIME__);
    #endif
    #ifdef __ATOM__ 
        fprintf(logfile, "SET #define __ATOM__: %s\n", __ATOM__);
    #endif
    #ifdef __AVX__ 
        fprintf(logfile, "SET #define __AVX__: %s\n", __AVX__);
    #endif
    #ifdef __AVX2__ 
        fprintf(logfile, "SET #define __AVX2__: %s\n", __AVX2__);
    #endif
    #ifdef __AVX512BW__ 
        fprintf(logfile, "SET #define __AVX512BW__: %s\n", __AVX512BW__);
    #endif
    #ifdef __AVX512CD__ 
        fprintf(logfile, "SET #define __AVX512CD__: %s\n", __AVX512CD__);
    #endif
    #ifdef __AVX512DQ__ 
        fprintf(logfile, "SET #define __AVX512DQ__: %s\n", __AVX512DQ__);
    #endif
    #ifdef __AVX512F__ 
        fprintf(logfile, "SET #define __AVX512F__: %s\n", __AVX512F__);
    #endif
    #ifdef __AVX512VL__ 
        fprintf(logfile, "SET #define __AVX512VL__: %s\n", __AVX512VL__);
    #endif
    #ifdef _CHAR_UNSIGNED 
        fprintf(logfile, "SET #define _CHAR_UNSIGNED: %s\n", _CHAR_UNSIGNED);
    #endif
    #ifdef __CLR_VER 
        fprintf(logfile, "SET #define __CLR_VER: %s\n", __CLR_VER);
    #endif
    #ifdef _CONTROL_FLOW_GUARD 
        fprintf(logfile, "SET #define _CONTROL_FLOW_GUARD: %s\n", _CONTROL_FLOW_GUARD);
    #endif
    #ifdef __COUNTER__ 
        fprintf(logfile, "SET #define __COUNTER__: %lx\n", __COUNTER__);
    #endif
    #ifdef __cplusplus_winrt 
        fprintf(logfile, "SET #define __cplusplus_winrt: %s\n", __cplusplus_winrt);
    #endif
    #ifdef _CPPRTTI 
        fprintf(logfile, "SET #define _CPPRTTI: %lx\n", _CPPRTTI);
    #endif
    #ifdef _CPPUNWIND 
        fprintf(logfile, "SET #define _CPPUNWIND: %lx\n", _CPPUNWIND);
    #endif
    #ifdef _DEBUG 
        fprintf(logfile, "SET #define _DEBUG: %lx\n", _DEBUG);
    #endif
    #ifdef _DLL 
        fprintf(logfile, "SET #define _DLL: %s\n", _DLL);
    #endif
    #ifdef __FUNCDNAME__ 
        fprintf(logfile, "SET #define __FUNCDNAME__: %s\n", __FUNCDNAME__);
    #endif
    #ifdef __FUNCSIG__ 
        fprintf(logfile, "SET #define __FUNCSIG__: %s\n", __FUNCSIG__);
    #endif
    #ifdef __FUNCTION__ 
        fprintf(logfile, "SET #define __FUNCTION__: %s\n", __FUNCTION__);
    #endif
    #ifdef _INTEGRAL_MAX_BITS 
        fprintf(logfile, "SET #define _INTEGRAL_MAX_BITS: %lx\n", _INTEGRAL_MAX_BITS);
    #endif
    #ifdef __INTELLISENSE__ 
        fprintf(logfile, "SET #define __INTELLISENSE__: %lx\n", __INTELLISENSE__);
    #endif
    #ifdef _ISO_VOLATILE 
        fprintf(logfile, "SET #define _ISO_VOLATILE: %lx\n", _ISO_VOLATILE);
    #endif
    #ifdef _KERNEL_MODE 
        fprintf(logfile, "SET #define _KERNEL_MODE: %s\n", _KERNEL_MODE);
    #endif
    #ifdef _M_AMD64 
        fprintf(logfile, "SET #define _M_AMD64: %s\n", _M_AMD64);
    #endif
    #ifdef _M_ARM 
        fprintf(logfile, "SET #define _M_ARM: %s\n", _M_ARM);
    #endif
    #ifdef _M_ARM_ARMV7VE 
        fprintf(logfile, "SET #define _M_ARM_ARMV7VE: %s\n", _M_ARM_ARMV7VE);
    #endif
    #ifdef _M_ARM_FP 
        fprintf(logfile, "SET #define _M_ARM_FP: %s\n", _M_ARM_FP);
    #endif
    #ifdef _M_ARM64 
        fprintf(logfile, "SET #define _M_ARM64: %s\n", _M_ARM64);
    #endif
    #ifdef _M_CEE 
        fprintf(logfile, "SET #define _M_CEE: %s\n", _M_CEE);
    #endif
    #ifdef _M_CEE_PURE 
        fprintf(logfile, "SET #define _M_CEE_PURE: %s\n", _M_CEE_PURE);
    #endif
    #ifdef _M_CEE_SAFE 
        fprintf(logfile, "SET #define _M_CEE_SAFE: %s\n", _M_CEE_SAFE);
    #endif
    #ifdef _M_FP_CONTRACT 
        fprintf(logfile, "SET #define _M_FP_CONTRACT: %s\n", _M_FP_CONTRACT);
    #endif
    #ifdef _M_FP_EXCEPT 
        fprintf(logfile, "SET #define _M_FP_EXCEPT: %s\n", _M_FP_EXCEPT);
    #endif
    #ifdef _M_FP_FAST 
        fprintf(logfile, "SET #define _M_FP_FAST: %s\n", _M_FP_FAST);
    #endif
    #ifdef _M_FP_PRECISE 
        fprintf(logfile, "SET #define _M_FP_PRECISE: %lx\n", _M_FP_PRECISE);
    #endif
    #ifdef _M_FP_STRICT 
        fprintf(logfile, "SET #define _M_FP_STRICT: %s\n", _M_FP_STRICT);
    #endif
    #ifdef _M_IX86 
        fprintf(logfile, "SET #define _M_IX86: %lx\n", _M_IX86);
    #endif
    #ifdef _M_IX86_FP 
        fprintf(logfile, "SET #define _M_IX86_FP: %lx\n", _M_IX86_FP);
    #endif
    #ifdef _M_X64 
        fprintf(logfile, "SET #define _M_X64: %s\n", _M_X64);
    #endif
    #ifdef _MANAGED 
        fprintf(logfile, "SET #define _MANAGED: %s\n", _MANAGED);
    #endif
    #ifdef _MSC_BUILD 
        fprintf(logfile, "SET #define _MSC_BUILD: %lx\n", _MSC_BUILD);
    #endif
    #ifdef _MSC_EXTENSIONS 
        fprintf(logfile, "SET #define _MSC_EXTENSIONS: %lx\n", _MSC_EXTENSIONS);
    #endif
    #ifdef _MSC_FULL_VER 
        fprintf(logfile, "SET #define _MSC_FULL_VER: %lx\n", _MSC_FULL_VER);
    #endif
    #ifdef _MSC_VER 
        fprintf(logfile, "SET #define _MSC_VER: %lx\n", _MSC_VER);
    #endif
    #ifdef _MSVC_LANG 
        fprintf(logfile, "SET #define _MSVC_LANG: %lx\n", _MSVC_LANG);
    #endif
    #ifdef __MSVC_RUNTIME_CHECKS 
        fprintf(logfile, "SET #define __MSVC_RUNTIME_CHECKS: %s\n", __MSVC_RUNTIME_CHECKS);
    #endif
    #ifdef _MSVC_TRADITIONAL
        fprintf(logfile, "SET #define _MSVC_TRADITIONAL: %s\n", _MSVC_TRADITIONAL);
    #endif
    #ifdef _MT 
        fprintf(logfile, "SET #define _MT: %lx\n", _MT);
    #endif
    #ifdef _NATIVE_WCHAR_T_DEFINED 
        fprintf(logfile, "SET #define _NATIVE_WCHAR_T_DEFINED: %lx\n", _NATIVE_WCHAR_T_DEFINED);
    #endif
    #ifdef _OPENMP 
        fprintf(logfile, "SET #define _OPENMP: %s\n", _OPENMP);
    #endif
    #ifdef _PREFAST_ 
        fprintf(logfile, "SET #define _PREFAST_: %s\n", _PREFAST_);
    #endif
    #ifdef __SANITIZE_ADDRESS__ 
        fprintf(logfile, "SET #define __SANITIZE_ADDRESS__: %s\n", __SANITIZE_ADDRESS__);
    #endif
    #ifdef __TIMESTAMP__ 
        fprintf(logfile, "SET #define __TIMESTAMP__: %s\n", __TIMESTAMP__);
    #endif
    #ifdef _VC_NODEFAULTLIB 
        fprintf(logfile, "SET #define _VC_NODEFAULTLIB: %s\n", _VC_NODEFAULTLIB);
    #endif
    #ifdef _WCHAR_T_DEFINED 
        fprintf(logfile, "SET #define _WCHAR_T_DEFINED: %lx\n", _WCHAR_T_DEFINED);
    #endif
    #ifdef _WIN32 
        fprintf(logfile, "SET #define _WIN32: %lx\n", _WIN32);
    #endif
    #ifdef _WIN64 
        fprintf(logfile, "SET #define _WIN64: %s\n", _WIN64);
    #endif
    #ifdef _WINRT_DLL 
        fprintf(logfile, "SET #define _WINRT_DLL: %s\n", _WINRT_DLL);
    #endif
    #ifdef _ATL_VER 
        fprintf(logfile, "SET #define _ATL_VER: %s\n", _ATL_VER);
    #endif
    #ifdef _MFC_VER 
        fprintf(logfile, "SET #define _MFC_VER: %s\n", _MFC_VER);
    #endif
    

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM