常见的C/C++编译器:
GCC编译器:__GNUC__
Intel 编译器:__INTEL_COMPILER
Microsoft Visual studio 编译器:_MSC_VER
常见的操作系统:
Microsoft :_WIN32
Linux :__linux
Cygwin:__CYGWIN__
Apple:__APPLE__
检测系统是32位,还是64位:
#define NVM_BITS "[%d bit] ", (sizeof(void*) == 8 ? 64 : 32) ///< used for checking 64-bit O/S
定义32字节对齐
#define DATA_ALIGN 1 ///< use 32-bit aligned malloc/free
#if DATA_ALIGN && _WIN32 && ( _MSC_VER > 1300 ) //windows下的字节对齐API
#define xMalloc( type, len ) _aligned_malloc( sizeof(type)*(len), 32 )
#define xFree( ptr ) _aligned_free ( ptr )
#else
#define xMalloc( type, len ) malloc ( sizeof(type)*(len) )
#define xFree( ptr ) free ( ptr )
#endif