首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
微微笑的蜗牛
掘友等级
iOS
|
斗鱼
我是个会点前端的 iOS 程序媛。公众号「微微笑的蜗牛」同步更新。
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 11
沸点 0
赞
11
返回
|
搜索文章
最新
热门
听说你想写个渲染引擎 - html 解析
大家好,我是微微笑的蜗牛,🐌。 这篇文章主要讲述 html 的解析过程,实现一个小小的 html 解析器。 html 中包含一系列的标签,有单个的,也有嵌套的。同时标签中还可携带属性数据。 <h1> 是单个标签,<div> 中带有子标签 <p>。…
听说你想写个渲染引擎 - 前言
大家好,我是微微笑的蜗牛🐌。 最近,看了一个「动手写浏览器渲染引擎」的系列文章,看下来觉得颇有价值。 它实现了一个小型的渲染引擎,并给出了具体的实现代码,清晰的讲述了工作流程。从我的感受来看,这对我们理解现代浏览器渲染引擎的工作原理还是相当有帮助的。 当然,现有的渲染引擎非常…
XCode7去除警告
在旧工程用 XCode7 打开后,会出现很多警告。类似于. pcm:no such file for requested architechture。 解决方法是,将 Debug Information Format 的 Debug 改成 DWARF,瞬间世界清净了。 在 XC…
在编译时修改AppIcon
怎样方便的知道出 app 当前的版本信息,版本号,是 beta/debug/release 呢?之前最直接的方式是在 app 某一页面,显示这些信息,需要的时候去查看。现在出了一个利器,在 AppIcon 上直接就可以看出这些信息,一目了然。见图。 使用_ImageMagick…
图解 fishhook 原理
虽然写 fishhook 原理的文章有很多,但是总觉得不够简单直观。大部分都是罗列大堆源码进行讲解,看得人云里雾里。 因此,本文将完全抛开源码,旨在简单清晰,直击要害,带你彻底弄清 fishhook 的原理。 我们所写的代码最终都会编译为机器码。程序运行时,cpu 会顺序执行一…
图解 Mach-O 中的 got
iOS 开发中,动态库是个绕不开的话题,系统库基本上是动态库。它的一大优势是节约内存,可让多个程序映射同一份的动态库,实现代码共享。动态库本身也是一个 Mach-O 文件,也有数据段、代码段等。其中代码段可读可执行,数据段可读可写。 动态库共享的只是代码段部分,为了达到代码段共…
arm64 objc_msgSend 源码解读
最近参照 MikeAsh 的这篇文章,看了 arm64 下 obj_msgSend 的实现。了解了其主体流程,同时对于 arm64 的汇编知识也有了更进一步的了解。 目前最新 obj4-781 中 objc-msg-arm64.s 的实现,跟 MikeAsh 文中的代码还是有些…
oc 获取对象 class 地址
在看 objc-msg-arm64.s 的源码时,从对象中获取其 class 地址的方式有些没看明白。它是通过将对象地址和 0xffffffff8 进行与运算来获取。如下所示,其中 $0 是 self 的地址。 在查看了 objc-runtime 的源码之后,弄懂了其中的原理。…
macos+bochs 环境搭建
在之前写过一篇 centos-i386+bochs+VirtualBox 环境搭建 的文章。其实也可直接在宿主机中 mac 中安装 bochs,这样更简单。 配置如下,在 mac 下需注释掉 keyboard 一行,不然会报错。 接着使用 bximage 创建虚拟磁盘。在命令行…
动手编写 mbr 代码
上一篇文章中,我们讲述了关于如何搭建编写操作系统所需的环境。如果你还没有相应的环境,那先动手搭建吧。参见「centos-6+bochs+virtualBox」环境搭建。 这篇文章,我们会自己手动编写 mbr 文件,向屏幕中输出 1 MBR 字符。O(∩_∩)O哈哈~,有没有跃跃…
下一页
个人成就
文章被点赞
86
文章被阅读
33,787
掘力值
982
关注了
1
关注者
35
收藏集
0
关注标签
7
加入于
2016-10-09