是否可以在Microsoft Windows上安全地使用_byteswap_ulong函数作为__builtin_bswap32的替代方法?
_byteswap_ulong函数将unsigned long作为参数并返回unsigned long。根据{{3}},Microsoft Visual c + +中的长变量是4个字节。但我听说根据C ++规范,long应至少为4个字节。
未来的Microsoft Visual C ++编译器是否有可能使长变量超过4个字节,因此_byteswap_ulong和__builtin_bswap32函数返回不同的值?