Tag: visual c ++

如何使用MSVC内在函数来获得相当于这个GCC代码?

以下代码在GCC中调用clz / ctz的内置函数,在其他系统上调用C版本。 显然,如果系统有内置的clz / ctz指令,如x86和ARM,则C版本有点不理想。 #ifdef __GNUC__ #define clz(x) __builtin_clz(x) #define ctz(x) __builtin_ctz(x) #else static uint32_t ALWAYS_INLINE popcnt( uint32_t x ) { x -= ((x >> 1) & 0x55555555); x = (((x >> 2) & 0x33333333) + (x & 0x33333333)); x = (((x >> 4) + x) & 0x0f0f0f0f); x += (x >> 8); […]