常见的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

本文介绍了常见的C/C++编译器及其宏定义,包括GCC、Intel、Microsoft Visual Studio等,并提供了检测操作系统类型及位数的方法。此外,还展示了如何在不同平台上实现32字节对齐的内存分配。
932

被折叠的 条评论
为什么被折叠?



