1、 如何判断是 32 位的还是 64 位的
/* Find the arch type */
#if defined(__x86_64__) || defined(_M_X64)
# 说明是64位的
#else
# 说明是32位的
2、 如何判断使用的是什么编译器
#if defined( _MSC_VER )
# 说明是微软的vc编译器
#elif defined( __GNUC__ )
# 说明是GNU的
#elif defined( __BORLANDC__ )
# 说明是borland的