iOS 内存字节对齐

iOS 内存字节对齐

记录下苹果实现内存字节对齐的代码如下:

#ifdef __LP64__
# define WORD_SHIFT 3UL
# define WORD_MASK 7UL
# define WORD_BITS 64
#else
# define WORD_SHIFT 2UL
# define WORD_MASK 3UL
# define WORD_BITS 32
#endif

static inline uint32_t word_align(uint32_t x) {
    return (x + WORD_MASK) & ~WORD_MASK;
}
复制代码

对比记录不同方案:

    func word_align(x: UInt32) -> UInt32 {
//        return (x + 7) / 8 * 8      //方案1,相对位运算效率要低
//        return ((x + 7) >> 3) << 3  //方案2,通过右移左移,低三位清0
        return (x + 7) & (~7)         //苹果方案,另一种低三位清0方式
    }
复制代码

转载于:https://juejin.im/post/5cd78f11f265da03b2044dca

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100931.html原文链接:https://javaforall.net

(0)
上一篇 2021年7月6日 下午5:00
下一篇 2021年7月6日 下午6:00


相关推荐

  • Eclipse–Team–SVN–URL修改

    Eclipse–Team–SVN–URL修改

    2021年9月9日
    60
  • RIP路由协议的理解

    RIP路由协议的理解RIP 路由协议的理解 计算机网络 距离向量算法 实际中较少使用 默认 RIP 使用简单的度量 通往目的站点所需经过的链路数 取值为 1 15 数值 16 表示无穷大 使用 UDP 的 520 端口发送和接收 RIP 分组 RIP 每隔 30 秒以广播形式发送一次路由信息 在邻居之间互传 防止广播风暴 后续分组做随机延时后发送 如果一个路由在 180s 内未被更新 相应的距离设置为无穷大 16 并从路由表中删

    2026年3月18日
    1
  • java swing入门教程_java swing基础(菜鸟教程学习)

    java swing入门教程_java swing基础(菜鸟教程学习)JavaSwing介绍1.Swing是一个为java世纪的GUI工具包2.Swing是JAVA基础类的一部分3.Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表4个器件4.Swing提供许多比AWT更好的屏幕显示元素,用纯java写成。AWT是JFC的一部分,支持可更换的面板和主题(各种操作系统默认的特有主题),然而并不是真的使用原生平台提供的设备,而是仅仅在表面上模仿…

    2022年6月28日
    68
  • Excel 各种密码的破解,大全建议收藏!

      本文介绍在Excel的多个文件版本中破解各类密码,包含文件的查看、只读密码,工作表、工作簿的保护密码,以及VBA工程密码。内容非常全面,建议你收藏。文件作者加密码是防止数据被查看,修改,所以,文件密码破解仅供于学习参考,请尊重作者版权,不要断人财路。  下面的有些操作不易撤销,为了防止文件被破坏,破解密码前建议备份原文件。1.文件查看、只读密码破解  Excel文件的查看、只…

    2022年4月4日
    2.0K
  • 通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库

    通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库前言备份还原oracle数据库的方式有很多种,本文只讲解使用expdp、impdp数据泵方式备份与还原(恢复)数据库,此种方式可以导出/导入数据库表以及表中的数据。请自行修改目录路径,否则出现错误别怪我哦~一、备份step1:使用system登录oracle打开DOS命令行界面,使用system用户登录oracle,格式:sqlplus用户名/密码@实例名(或者使用plsql……

    2022年10月20日
    3
  • 使用SSH隧道和Squid创建专用加密代理以进行真正的隐私浏览「建议收藏」

    使用SSH隧道和Squid创建专用加密代理以进行真正的隐私浏览「建议收藏」在远程Linux机器上运行代理服务器,并通过SSH隧道将所有流量传输到它。第1步:安装Squid因为我使用CentOS,所以我只是做了一个 yuminstallsquid第2步:配置Squid好吧,默认的squid配置(/etc/squid/squid.conf)非常好,虽然我需要添加一个ACL子句,所以我实际上可以使用代理。远程的局域网是192.168.1.0/24,所以把这…

    2025年10月12日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号