// ==========================================================================
// Author:  Yee Hsu
// Date:    6/6/2008
// File:    Macro.cpp
//
// Desc:    Outputs some of the default macros defined in Visual Studio
//          and MSDN. Some are defunct and no longer in use.
// ==========================================================================

#include "stdafx.h"

// ==========================================================================
// Identifier:  main()
//
// Description: main function.
//      - Outputs pre defined macros and their values
// ==========================================================================

int main(int argc, char* argv[])
{
    printf("%02d - [%s] : %s\n", __COUNTER__, "__COUNTER__", "");
    printf("%02d - [%s] : %s\n", __COUNTER__, "__DATE__", __DATE__);
    printf("%02d - [%s] : %s\n", __COUNTER__, "__FILE__", __FILE__);
    printf("%02d - [%s] : %d\n", __COUNTER__, "__LINE__", __LINE__);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "__STDC__", __STDC__);
    printf("%02d - [%s] : %s\n", __COUNTER__, "__TIME__", __TIME__);
    printf("%02d - [%s] : %s\n", __COUNTER__, "__TIMESTAMP__", __TIMESTAMP__);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_ATL_VER", _ATL_VER);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_CHAR_UNSIGNED", _CHAR_UNSIGNED);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "__CLR_VER", __CLR_VER);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "__cplusplus_cli", __cplusplus_cli);
    printf("%02d - [%s] : %d\n", __COUNTER__, "__cplusplus", __cplusplus);
//  printf("%02d - [%s] : %d\n", __COUNTER__, "_CPPLIB_VER", _CPPLIB_VER);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_CPPRTTI", _CPPRTTI);
    printf("%02d - [%s] : %d\n", __COUNTER__, "_CPPUNWIND", _CPPUNWIND);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_DEBUG", _DEBUG);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_DLL", _DLL);
    printf("%02d - [%s] : %s\n", __COUNTER__, "__FUNCDNAME__", __FUNCDNAME__);
    printf("%02d - [%s] : %s\n", __COUNTER__, "__FUNCSIG__", __FUNCSIG__);
    printf("%02d - [%s] : %s\n", __COUNTER__, "__DATE__", __DATE__);
    printf("%02d - [%s] : %s\n", __COUNTER__, "__FUNCTION__", __FUNCTION__);
    printf("%02d - [%s] : %d\n", __COUNTER__, "_INTEGRAL_MAX_BITS", _INTEGRAL_MAX_BITS);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_M_ALPHA", _M_ALPHA);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_M_CEE", _M_CEE);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_M_CEE_PURE", _M_CEE_PURE);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_M_CEE_SAFE", _M_CEE_SAFE);
    printf("%02d - [%s] : %d\n", __COUNTER__, "_M_IX86", _M_IX86);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_M_IA64", _M_IA64);
    printf("%02d - [%s] : %d\n", __COUNTER__, "_M_IX86_FP", _M_IX86_FP);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_M_MPPC", _M_MPPC);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_M_MRX000", _M_MRX000);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_M_PPC", _M_PPC);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_M_X64", _M_X64);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_MANAGED", _MANAGED);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_MFC_VER", _MFC_VER);
    printf("%02d - [%s] : %d\n", __COUNTER__, "_MSC_EXTENSIONS", _MSC_EXTENSIONS);
    printf("%02d - [%s] : %d\n", __COUNTER__, "_MSC_VER", _MSC_VER);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "__MSVC_RUNTIME_CHECKS", __MSVC_RUNTIME_CHECKS);
    printf("%02d - [%s] : %d\n", __COUNTER__, "_MT", _MT);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_NATIVE_WCHAR_T_DEFINED", _NATIVE_WCHAR_T_DEFINED);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_OPENMP", _OPENMP);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_VC_NODEFAULTLIB", _VC_NODEFAULTLIB);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_WCHAR_T_DEFINED", _WCHAR_T_DEFINED);
    printf("%02d - [%s] : %d\n", __COUNTER__, "_WIN32", _WIN32);
//  printf("%02d - [%s] : %s\n", __COUNTER__, "_WIN64", _WIN64);
//  printf("%02d - [%s] : %d\n", __COUNTER__, "_Wp64", _Wp64);

    return 0;
}