- 博客(12)
- 收藏
- 关注
原创 Objective-C 与 C 语言基本数据类型存储字节
C 语言中的类型, * 前缀的是 C99 新增的类型sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)目前 short int 一般为16位,int 为32位,long long为64位,long随平台编译器而定,32位或64位LP64 是 Unix 和 Unix 类的64位操作系统 (Linux,Mac OS X)usr/include/objc NSObjCRuntime.h#if __LP6
2021-07-03 14:24:40
208
原创 ijkplayer源码分析 —— 事件消息设计
1. 事件消息队列设计1.1 结构体对象定义ff_ffmsg_queue.h 消息、队列结构体定义和功能函数// 消息结构体(节点)typedef struct AVMessage { int what; //消息类型 int arg1; //整型可选参数 int arg2; //整型可选参数 void *obj; //无类型可选动态内存参数 void (*free_l)(void *obj); //用于释放obj指针的内存} AVMessage;//
2021-06-30 23:24:10
356
原创 iOS Framework 编程基础
一、理论1.1 名词解释Mach-O(Mach object):在 Mac OS 和 iOS 上的一种目标文件格式(object file format),如内核扩展、命令行工具、应用程序、frameworks 和 库(共享和静态),具有 Header、Load commands、Raw segment data 基本结构。Xcode 上列出的类型有:Executable、Dynamic Libary、Bundle、Static Library、Relocatable Object File。Lib
2020-08-17 23:20:21
293
原创 iOS SDK 开发之 Other linker flags
简单来说 Other linker flags 是 ld 的命令除了默认参数外的其他参数,ld 是把若干库和文件整合起来生成一个文件。MAC 终端执行 man ld 命令查看详细文档The ld command combines several object files and libraries, resolves references, and produces an ouput file. ld can produce a final linked image (executable, dyli
2020-08-17 23:07:56
498
翻译 优化 iOS App 启动时间(Optimizing App Startup Time)
一 你将学到什么理论main() 函数之前发生的一切Mach-O 格式虚拟内存基础如何加载和准备 Mach-O 二进制文件实践如何测量优化启动时间二 奔溃原因:Mach-O和虚拟内存Mach-O 术语文件类型Executable—Main binary for applicationDylib—Dynamic library (aka DSO or DLL)Bundle—Dylib that cannot be linked, only dlopen(), e.g. p
2020-08-17 23:00:24
537
原创 FFmpeg 源码导读
FFmpeg 是以 C 语言编写的,对于习惯面向对象编程的程序猿来说,通过类比面向对象中的概念可更容易理解 C 语言设计的核心和其优美之处。例如面向对象中可以对某个现实世界或逻辑世界中的模型建立一个类,实例化该类出一个具体的对象(实例),然后可通过该对象调用各种它所具备的方法,也可通过自身属性保存各种状态。如果是面向过程的 C 语言是否也有这种特性呢,答案是肯定的。我们可以将 C 语言中的结构体类比为类,结构体的变量便是一个对象,结构体的成员变量便是对象的属性,较大不同的是在 C 语言中调用方法,一般是通过
2020-08-17 22:47:28
358
原创 博客新人前来报道
从业 iOS 研发些许年了,平时接触总结内容不少,但很少公开分享一些内容,一方面是平时工作较忙,大多技术和工作经验上的总结贡献了公司内部平台;另一方面也觉得自己的总结稍欠火候,不想写些自己觉得无大营养的文章或博客。不过万事总有个开始嘛,作为程序猿到处搬砖的不在少数,当然我也不少这么做,学习了大家的一些经验,当然也要把一些自己认为不错的总结或思考分享给大家,共同学习,共同成长,为维护一个开放、共享的知识网络共享一丝汗水~博客大体会围绕以下内容进行写作,欢迎有兴趣读者和同行关注、点赞或拍砖,不吝赐教~iOS
2020-08-17 22:17:33
211
原创 iOS 从入门到放弃——之官方文档
苹果开发者中心https://developer.apple.com苹果开发者中心提供有中文页面,developer.apple.com 域名后添加 /cn 路径即为中文页面,方便国内开发入门,大多数苹果页面在正式域名后加 /cn 即可跳转至汉语版本,不过开发者也不要开心太早,后面的 API 文档可没这么便捷了。。哈哈,全是英文文档,不过也好,相信一旦步入苹果开发者的世界,英语能力还是会提升不少的,毕竟 “目染” 官方文档都是全英文的。这里就像一扇新世界的大门,会展示一些最新或者最牛X的的技术和框架,
2020-08-16 23:28:22
676
原创 FFmpeg 源码导读 —— H264码流格式分析
阅读此文档需要有一定 H264 及 FFmpeg 知识基础,未入门可参阅 雷神博客 https://blog.csdn.net/leixiaohua1020大家如果有接触过 H264 编码,一般也会了解到 H264 编码有两种格式:一种是在 H264 编码协议附录B 中提供的参考格式 ,简称 Annex-B 格式;另一种是以起始码分割 nalu 的 avcC 格式。这两种格式的具体差异和用途网上有不少介绍,此处不再赘述,本文档主要是对这两种格式的实现(FFmpeg h264解码器)做一个代码分析。首.
2020-08-16 23:21:32
1162
原创 iOS UI 之聊天室渐变蒙层效果
iOS UI 开发中,我们已接触过不少 layer 相关设置,如常见设置按钮的圆角效果UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];button.layer.cornerRadius = 5.0;button.layer.masksToBounds = YES;还有边框、阴影也都可以通过 CALayer 相关属性直接设置。今天要说的是一个渐变效果,举个栗子,在一些直播中我们可以看到聊天室上边有个透明度渐变效果,如下
2020-08-16 16:31:38
1443
3
原创 笔记:C变量的存储方式和生命周期
笔记:C变量的存储方式和生命周期变量的分类从空间角度(作用域)可分为:全局变量和局部变量。从时间角度(生存期)可分为:静态存储和动态存储。静态存储:在程序运行期间由系统分配固定的存储空间方式,其内存在整个程序运行中一直存在。动态存储:在程序运行期间根据需要动态的分配存储空间方式,如调用函数时临时分配的变量存储单元,函数调用结束后该存储单元就被马上释放掉。在 C 语言中,每一个变量和函数都有两个属性:数据类型和数据的存储类别。数据类型就是常见的整型、浮点型、字符型等,存储类别是数据在内存中的存储方
2020-08-02 21:32:42
270
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人