首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS面试底层原理
订阅
jeremi
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
iOS-底层原理 31:LLVM编译流程 & Clang插件开发
本文主要是理解LLVM的编译流程以及clang插件的开发LLVMLLVM是架构编译器的框架系统,以C++编写而成,用于优化任意程序语言编写的程序的编译时间(compile-time)、链接时间(lin
视频基础和MP4容器解封装
最近在研究基于移动端平台上使用视频做动画载体的方案,目前移动端平台使用动画的方案有:gif图、apng、webp、lottie、svga等,各有各的优势,也有相应的劣势,而使用视频做动画的目的,寻求的是完美还原设计师的设计特效外,同时性能达到极致。 在这个过程中,也积累了一些视…
iOS底层学习 - 从编译到启动的奇幻旅程(一)
总体来说,一个APP从编写完代码到运行,就经历了两大步骤,即编译和运行,这一章节,主要来看一下APP的进行编译的。 iOS的代码,是通过编译器将代码直接编写成机器码,然后直接在CPU上运行机器码的,这样能使得我们的app和手机都能效率更高,运行更快。C,C++,OC等语言,都是…
Mach-O文件周边二三事
Apple不断放宽在蜂窝网络下,从AppStore下载App的大小限制,2013年9月,iOS 7正式版后,蜂窝网络下App下载大小的限制,从 50 MB 提升至 100 MB。
编译链接二三事
少部分动态库在程序启动加载时,通过dyld链接。 大部分动态库的第一次使用时,才通过dyld链接(减少启动耗时)。 跨端UI框架Flutter同样支持AOT和JIT;在Debug 模式下,采用 JIT即时编译,Release 模式下采用的是 AOT 静态编译。其中,JIT将 D…
iOS应用安全7 -- LLDB动态调试
LLDB全称是Low Level Debugger,并不是low的调试器,而是轻量级的高性能调试器,xcode默认内置了它,因此我们不需要再自己安装。笔者最近也是系统的学习了LLDB的用法,在此之前就用过p和po,哈哈😄。本篇文章主要为了将最近学习的LLDB记录并总结,加深记…
iOS应用安全5 -- main函数调用之前做了些什么?
老规矩,先说一下本篇文章说的内容。有两大部分:分别是MachO文件和DYLD。 主要要说的是DYLD加载image(不是图片,是镜像)的整体流程。因为这两部分都是概念性的知识且MachO部分的内容相对来说不算太多,所以就将两部分知识点用这一篇文章概括算咯🐶。 标题是属于第二大…
iOS应用安全6 -- fishhook破解系统C函数
在上上篇文章iOS应用安全4 -- 代码注入,窃取微信登录密码中我们知道了如何hook App中的OC方法,即使用OC的运行时机制,在运行期间替换相应方法的实现。 这就要使用到我们今天所要讲的fishhook了,下载地址。 话不多说,先把它下载下来添加到工程。 下载完fishh…