首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ios
订阅
pengleimaxue
更多收藏集
微信扫码分享
微信
新浪微博
QQ
42篇文章 · 0订阅
浅谈编译过程
首先名词解释部分,笔者会介绍编译器、GCC、LLVM相关内容。 1. 编译器 编译器不是硬件,是可以把源程序编译为目标程序的计算机程序。 2. 编译器架构 3. GCC GCC 即 GNU 编译器套件(GNU Compiler Collection)是可以编译 C、Object…
iOS内存管理一:Tagged Pointer&引用计数
这里有点值得一提的是静态变量的作用域与对象、类、分类没关系,只与文件有关系。 从上面运行结果可以知道,在Person类、Person分类、Controller中针对静态变量age的操作,其值并不相互影响。 OC中对内存优化管理的方案有如下几种形式:Tagged Ponter、N…
iOS程序员的自我修养-编译、链接过程(一)
OC是用Clang/LLVM来编译的。接下来我将用clang来展开整个过程。main.m文件源码如下: 平时用Xcode去Build,一键从源码到程序。这个过程中隐藏了预处理、编译、汇编和链接4个过程如下: 处理源代码文件中的以"#"开头的预编译指令。规则如下: "#defin…
真·程序员必修书单
迫近年关,很多人都写了 19 年的总结和 20 年的展望。我在回想 2019 年的时候,想到自己只读完了几本‘杂’书,真正技术的书籍一本也没有读完。焦虑就悄然涌上心头,有种不学习就退步的烦躁。然后我回想起了之前看到的一个网站: 接下来,你将得到答案。(😍我寻找的书单要来啦!)…
iOS代码瘦身实践:删除无用的类
本文将提供一种静态分析的方式,用于查找可执行文件Mach-o中未使用的类,源码链接:xuezhulian/classunref。 Mach-o文件中__DATA __objc_classrefs段记录了引用类的地址,__DATA __objc_classlist段记录了所有类的…
iOS app秒开H5优化探索
为了快递迭代、更新,公司app有一大模块功能使用H5实现,但是体验比原生差,这就衍生了如何提高H5加载速度,优化体验的问题。此文,记录一下自己的心路历程。 一般页面在 dom 渲染后才能展示,可以发现,H5 首屏渲染白屏问题的原因关键在于,如何优化减少从请求下载页面到渲染之间这…
iOS 优化篇 - 启动优化之Clang插桩实现二进制重排
( 本篇文章由于会从原理角度讲解 , 有些已经比较熟悉的同学可能会觉得节奏偏啰嗦 , 为了照顾大部分同学 , 大家自行根据目录跳过即可 . ) 了解二进制重排之前 , 我们需要了解一些前导知识 , 以及二进制重排是为了解决什么问题 . 在本篇文章里 , 笔者就不通过教科书或者大…
今年的 Swift,有哪些新的东西呢?
苹果官方在美国当地时间 9.20 在 Swift 官方正式官宣了 Swift 5.1。Swift 5.1在Swift 5的基础上扩展了语言的稳定功能。不过等等,本文不是对官宣文档的整理,而是整理自 Xcode 11 release note。 Xcode 11 中对 Swift…
iOS 13 正式发布,来看看有哪些 API 变动
iOS 13 已正式发布,网上对其用户体验上的新特性的描述也很多。对于开发来说,需要关注的另一方面是新系统在 API 层面做了哪些改动,从而会对我们现有的代码产生什么影响。 • iOS 13 不再支持 UIApplicationExitsOnSuspend。需要更新应用以处理现…
《iOS面试题 - 老生常谈》之提示答案
通过把关键码值(key)映射到表中的一个位置来访问记录,Hash实现的关键是散列函数和冲突解决(链地址法和开放定址法)。 进程:是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 区别:线程被包含在进程之中,是进程中的实际运作单位。一条线程指的…