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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • QThread源码浅析[通俗易懂]

    QThread源码浅析[通俗易懂]Qt版本Qt5.6.0,下面以Windows平台为例简单研究下QThread源码实现。1.仅研究下QThread::start()函数,其他细节在次不涉及:src\qtbase\src\corelib\thread\qthread_win.cppvoidQThread::start(Prioritypriority){Q_D(QThread);QMutexLocker…

    2022年5月28日
  • 归并排序

    归并排序概要本章介绍排序算法中的归并排序。内容包括:1.归并排序介绍2.归并排序图文说明3.归并排序的时间复杂度和稳定性4.归并排序实现4.1归并排序C实现4.2归并排序C++实现4.3归并排序Java

    2022年7月3日
  • Ubuntu中搭建ICE服务器(Coturn)

    Ubuntu中搭建ICE服务器(Coturn)1.WebRTC的P2P穿透WebRTC的P2P穿透部分是由libjingle实现的.步骤顺序大概是这样的:尝试直连.通过STUN服务器进行穿透无法穿透则通过TURN服务器中转STUN服务器比较简单.网上也有很多公开的STUN服务器可以用于测试,例如:stun.ideasip.com在WebRTC的P2P应用中,使用公开的STUN服务器时,有时响应比较慢,这就需要自己搭一个…

    2022年6月14日
  • 字符串转时间,时间转字符串

    字符串转时间,时间转字符串字符串转时间的方法方法1://importcom.zoulab.common.util.DateTimeUtil;Datedate=DateTimeUtil.FORMAT_YYYY_MM_DDHHMMSS.parse(“2020-01-0101:22:00”);时间转字符串的方法方法1://importorg.apache.commons.lang3.time.DateFormatUtils;Stringdate=DateFormatUtils.ISO_8601_EXTEN

    2022年6月2日
  • ReadProcessMemory函数的分析「建议收藏」

    ReadProcessMemory函数的分析「建议收藏」ReadProcessMemory函数用于读取其他进程的数据。我们知道自远古时代结束后,user模式下的进程都有自己的地址空间,进程与进程间互不干扰,这叫私有财产神圣不可侵犯。但windows里还真就提供了那么一个机制,让你可以合法的获取别人的私有财产,这就是ReadProcessMemory和WriteProcessMemory。为什么一个进程居然可以访问另一个进程的地址空间呢?因为独立的只是低

    2022年10月4日
  • 关于PHP 开启zlib gzip配置

    关于PHP 开启zlib gzip配置

    2021年9月21日

发表回复

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

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