摘要: 官方文档https://trac.pjsip.org/repos/wiki/Getting-Started/iPhone 功能 在iPhone上可以实现的功能: 包含基于CoreAudio的音频设备,支持以下功能:支持内置的iLBC编解码器支持内置的iLBC编解码器支持内置的iLBC编解码器视频 内 阅读全文
posted @ 2018-05-18 16:53 dhcxyj 阅读(1148) 评论(0) 推荐(0) 编辑
摘要: double和float都属于浮点型,double是双精度浮点型,8字节,16位有效位;float是单精度浮点型,4字节,7位有效位。 一. 基本原则 1. 存储方式遵循IEEE规范(科学计数法,表示方式为1.xxx * m^n),float是IEEE R32.24(float4字节,32位,其中8 阅读全文
posted @ 2018-01-03 16:53 dhcxyj 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 看runtime源码时,看到如下声明变量的,变量后分号前加冒号和数字": 数字"即为位域操作。 1个字节包含8位,有些变量保存的数据不需要占用这么长的空间(比如bool类型,只有两个状态true和false, 1位就可以搞定,剩下的7位就浪费了),这就催生了“位域”结构,位域将1个字节划分成不同的区 阅读全文
posted @ 2018-01-02 15:11 dhcxyj 阅读(2395) 评论(1) 推荐(0) 编辑
摘要: 一. 基本原则 在计算机系统中,数值一律用补码来存储,使用补码的主要原因是,可以将符号位和其它位统一处理,并且减法也可按加法来处理 1. 首位(最高位)是符号位,0表示正数,1表示负数,后边的剩余位数用来存储数值; 2. 正数的补码与源码相同(正数源码,反码,补码都是相同的); 3. 负数的补码是反 阅读全文
posted @ 2017-12-27 15:14 dhcxyj 阅读(1158) 评论(0) 推荐(0) 编辑
摘要: 一. 基本原则 1. struct中成员变量的声明顺序,与成员变量对应的内存顺序是一致的; 2. struct本身的起始存储地址必须是成员变量中最长的数据类型的整倍数,注意是最长的数据类型,而不是最长的变量 3. 内存对齐与编译器设置有关。 二. 计算规则(以下的所有规则,必须同时满足,并不是满足其 阅读全文
posted @ 2017-12-25 15:54 dhcxyj 阅读(4777) 评论(0) 推荐(3) 编辑
摘要: 一. union的声明和struct类似 二. 内存分配 1. union内存大小需要满足以下2个条件: 1> 大于或等于union中最长的成员变量的长度; 2> 能整除其他成员变量长度 文字描述计算过程:U001中的成员变量 int number->4字节,char c[10]->10字节,dou 阅读全文
posted @ 2017-12-22 19:00 dhcxyj 阅读(994) 评论(0) 推荐(1) 编辑
摘要: 一、下载 Android NDKAndroid NDK官方下载页:http://developer.android.com/tools/sdk/ndk/index.html如果需要旧版本的,比如10b版本,64位linux上使用的,可以直接敲http://dl.google.com/android/... 阅读全文
posted @ 2015-08-13 16:59 dhcxyj 阅读(11216) 评论(1) 推荐(0) 编辑
摘要: 一、交叉编译 在一个平台上生成另一个平台上的可执行代码。为什么要大费周折的进行交叉编译呢?一句话:不得已而为之。有时是因为目的平台上不允许或不能够安装所需要的编译器,而又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行所需要的编译器;有时又是因为目的平台还没有建立,连操作系统都没有 阅读全文
posted @ 2015-08-03 16:40 dhcxyj 阅读(11873) 评论(2) 推荐(0) 编辑
摘要: 使用AutoLayout之前需要知道以下两点:1.必须设置translatesAutoresizingMaskIntoConstraints为NO。2.如果是viewControl则AutoLayout适配写在[-updateViewConstraints]中;如果是view则AutoLayout适... 阅读全文
posted @ 2015-07-02 19:33 dhcxyj 阅读(5472) 评论(0) 推荐(1) 编辑
摘要: 环信SDK与Apple Watch的结合 阅读全文
posted @ 2015-04-09 20:29 dhcxyj 阅读(1108) 评论(2) 推荐(0) 编辑