首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
底层原理
订阅
poplax
更多收藏集
微信扫码分享
微信
新浪微博
QQ
5篇文章 · 0订阅
iOS 通过汇编探索 objc_msgSend
众所周知,OC 是一门动态语言,因为 runtime 的存在而变得强大,而在代码中调用方法就是给对象发送消息也是因为 runtime 的存在,调用方法就是调用 objc_msgSend 这个函数,那在底层又是怎么样的呢?汇编又是怎么一步步调用的呢?这篇文章会将通过汇编来分析 o…
libffi探究
a. libffi的导入 将libffi.a导入到需要使用的工程中,并把include对应的头文件也添加到工程中。 b. libffi的使用 如上所示,通过ffi_call方法实现了函数func1的调用,我们来具体分析下整个流程。 定义函数的参数类型,func1的参数为两个in…
iOS Tagged Pointer (源码阅读必备知识)
Tagged Pointer 介绍 苹果对于 Tagged Pointer 特点的介绍: Tagged Pointer 专门用来存储小的对象,例如 NSNumber 和 NSDate Tagged Pointer 指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个…
LLVM & Clang 入门
本文主要从下面几个方面简单介绍了一下 LLVM & Clang。 LLVM包含三部分,分别是LLVM suite、Clang和Test Suite。 LLVM suite,LLVM 套件,它包含了 LLVM 所需要的所有工具、库和头文件,一个汇编器、解释器、位码分析器和位码优化…
iOS 开发:『Blocks』详尽总结 (二)底层原理
本文用来介绍 iOS 开发中 『Blocks』的底层原理。我将通过 Blocks 由 OC 转变的 C++ 源码来一步步解析 Blocks 的底层原理。