自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

y2015的博客

༺ ۣۖ ۣۖ 提༒高 ۣۖ ۣۖ ༻

  • 博客(11)
  • 收藏
  • 关注

原创 swift访问级别权限

2022-11-07 16:44:18 557

原创 两个大数相乘

文章目录一、 统一处理进位二、 实时处理进位 一、 统一处理进位 -(NSString*)bidnumbstring:(NSString*)muti1 multibyaBignumString:(NSString*)muti2{ if (muti1.length==0 || muti2.length==0) { return @"0"; } NSInteger capcity = muti1.length + muti2.length; NSMuta

2021-02-09 17:13:46 157

原创 内存对齐(字节对齐)两三事

目录什么是内存对齐为什么要内存对齐怎么内存对齐示例字节对齐算法ios获取内存大小sizeofclass_getInstanceSizemalloc_size 什么是内存对齐 先看下面这个结构体 struct Test{ int a; char b; }; 如果没有内存对齐,在64位机器上(以后不作说明,均是64位)字节内存大小应是: 4 + 1 = 5 而实际使用sizeof(struct Test)输出却得到的是8 为什么要内存对齐 1)平台原因(移植原因):不是所有的硬件平台都能访问任

2021-01-18 18:11:58 1071

原创 乘除模运算转换为位运算

alloc流程乘法运算除法运算模运算 一个数乘以2等价于该数左移一位 一个数除以2等价于该数右移一位 乘法运算 如果a * b, 且a = 2^n, 则 a * b 可以转换为 (b << n) int a = 8 * 20; int b = (20 << 3); NSLog(@"%d ---- %d", a, b); 打印结果:160 ---- 160 除法运算 int a = 120 / 8; int b = 120 >&g

2021-01-12 14:51:27 561

原创 #pragma clang的使用

文章目录-Wdeprecated-declarations 去除方法弃用告警-Wincompatible-pointer-types 不兼容指针类型-Warc-retain-cycles 循环引用-Wunused-variable 未使用变量-Wcovered-switch-default 未使用default -Wdeprecated-declarations 去除方法弃用告警 #pragma clang diagnostic push #pragma clang diagnostic ignore

2020-12-25 14:15:09 1021 1

原创 Xcode run script

文章目录直接在target使用单开一个新的target脚本是否可以正常运行判断 直接在target使用 每次编译都会运行该脚本 单开一个新的target 需要使用脚本的时候选择该新的target编译 脚本是否可以正常运行判断 执行编译命令,快捷键command + B 有输出打印文字则说明配置正确了 ...

2020-12-22 16:51:30 529

原创 swfit源码编译

编译环境 mac 10.15.4 Xcode: 11.6 python: 2.7 3.7均有 ninja:brew install ninja CMake:brew install CMake 编译步骤:(如前两步未成功,可直接跳转第三步) 1. clone swift源码 git clone --branch swift-5.3.1-RELEASE https://github.com/apple/swift.git 2. update-checkout(这步clone编译swift相关的库,非常

2020-12-21 15:49:12 180

转载 iOS 中内存分配与分区及为什么要区分堆栈

关于RAM ROM 关于RAM ROM RAM与ROM就是具体的存储空间,统称为存储器 RAM(random access memory):运行内存,CPU可以直接访问,读写速度非常快,但是不能掉电存储。它又分为: 动态DRAM,速度慢一点,需要定期的刷新(充电),我们常说的内存条就是指它,价格会稍低一点,手机中的运行内存也是指它 静态SRAM,速度快,我们常说的一级缓存,二级缓存就是指它,当然价格高一点。 ROM(read only memory):存储性内存,可以掉电存储,例如SD卡、Flash

2020-11-27 13:26:21 342

原创 底层原理探索(一) - alloc流程

alloc流程探索方式alloc方法调用流程源码(objc-781源码)alloc_objc_rootAlloccallAlloc_objc_rootAllocWithZone_class_createInstanceFromZone(核心) 探索方式 接入objc源码库直接调试 Control+Step into 符号断点 菜单栏Debug->Debug Workflow->Always Show Disassembly(始终显示汇编代码) alloc方法调用流程 alloc - _

2020-09-07 17:30:44 528

转载 android事件传递机制

事件传递顺序 Activity--> Window-->DecorView --> 布局View 或者说以上顺序是事件在应用层的传递顺序。如果要说整个事件的传递机制,是Android底层收到触摸屏的事件后,使用socket跨进程通信,用InputDispatcher将事件发送给APP进程,由主线程的Looper去取出消息进行处理。 本文主要分析Android应用层的一个传递过程 事件的传递规则 一个点击事件,或者说触摸事件,被封装为了一个MotionEvent。事件的分发主要由三个重要

2020-08-27 22:59:23 306

原创 Runtime是什么

runtimejava和oc 都有运行时吗 java和oc 都有运行时吗 iOS系统采用的就是Runtime机制。对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于OC函数来说,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。 运行:Objective-C runtime 运行 native code 。Java VM 运行 byte code。垃圾回收:Objective-C runtime 有过短暂的使用 conservative GC。但是

2020-08-27 21:52:32 320

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除