微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在bitmap.h中,为什么bitmap_zero需要memset?

在include / linux / bitmap.h中,在bitmap_zero()中,为什么使用memset?

static inline void bitmap_zero(unsigned long *dst,int nbits) { if (small_const_nbits(nbits)) *dst = 0UL; else { int len = BITS_TO_LONGS(nbits) * sizeof(unsigned long); memset(dst,len); } }

是*det = OUL不够?

给定一个HBITMAP,如何绘制?

高效地获取Windows桌面的屏幕截图

Bitmap.Save“通用错误

如何检查tiff是否使用TiffBitmapDecoder索引的颜色空间?

graphicsDrawImage导致大红色X的错误

small_const_nbits的定义是:

#define small_const_nbits(nbits) (__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG)

BITS_PER_LONG通常为32或64,具体取决于您所在的机器。

所以,如果你试图清除少于这么多的位数,你当然可以在一个操作中完成 – 这是if语句的前半部分。 如果它长于32或64位,则需要设置多个单词,这是通过memset调用完成的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐