首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
SIL
订阅
用户4767997840374
更多收藏集
微信扫码分享
微信
新浪微博
QQ
5篇文章 · 0订阅
Swift中Enum枚举底层探索
EnumMetadata和StructMetadata基本上一样,这里就不在细说了,不清楚的可以看我这篇文章:Swift结构体底层StructMetadata。而且老样子,我也把EnumMetadata源码翻译成swift代码实现了,GitHub地址在这。 EnumMetada…
Swift引用计数的底层分析
学过swift的基础语法,我们知道类对象有3种引用方式:强引用(strong)、弱引用(weak)、无主引用(unowned)。 我们从上篇文章探索Swift中Class的大致结构,了解了引用计数存放的位置。我们现在写一个小Demo,来看下引用计数的变化: 从1到2到3,可能还…
探索Swift中Class的大致结构
通过上一篇文章我们知道,swift中分配类内存空间调用的是这个方法,这个时候我们查看swift的源码,看该方法是如何实现的。 我们在HeapObject.cpp文件中找到该函数的实现,我们设一个断点在方法里面,运行下源码。 我们看到在初始化的时候,进入了swift_allocO…
初次探索SIL文件
生成SIL的文章上次已经讲过,我们这次简单分析下SIL文件。在main.swift中输入和上次一样的代码: 每个程序的开始都是main函数,swift也不例外,但是swift中的main函数被隐藏了,main.swift文件就代表了整个main函数,在文件里写的代码会在main…
Swift的中间文件:Swift Intermediate Language(简称SIL)
这样生成的项目只有一个main.swift文件,不会含有其他的干扰项。 我们可以从SIL中看到一些奇怪无规律的名字,例如:s4main6personAA7TeacherCvp。这其实是swift采用了名字重整技术,swift中的类名、方法名等会被重整,这样可以实现方法的重载,更…