作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个地址说十六进制 0x26FFFF 如何检查给定的地址是否是 64 位对齐的?我知道地址应该是 8 的倍数,以便 64 位对齐,那么如何使其 64 位对齐以及有哪些不同的方法可以做到这一点?
最佳答案
要检查地址是否为 64 位对齐,您只需检查其 3 个最低有效位是否为空。例如
(ad & 0x7) == 0
alignas()
在 C++ 或 C 中(通过包含 stdalign.h)来指定变量的对齐方式。因此
alignas(8) char str[24];
alignas()
是控制变量对齐的首选方法。
malloc()
动态分配数据应该“适合任何内置类型对齐”,因此始终至少对齐 64 位。
malloc()
合适的尺寸和到
memcpy()
新位置的数据。
关于memory - 如何知道地址是否是 64 位对齐的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56753138/
我是一名优秀的程序员,十分优秀!