摘要:
在OC中: API: class_addMethod往一个Class里添加method API: class_getInstanceMethod或class_getClassMethod可以判断某个SEL是否存在于Class API: method_exchangeImplementations 交 阅读全文
摘要:
sem_t分为有名和无名。有名的sem_t通过sem_open来创建, 而无名的sem_t通过sem_init的初始化。 用有名的sem_t来进程间同步是件很容易的事情,百度上一搜很多想相关的例子。 有名和无名的sem_t主要区别: 1. 效率:有名sem_t是放在文件,无名的sem_t是放在内存。 阅读全文
摘要:
这个百变遥控,是完全基于局域网的(也可以基于网络数据转发的),操作同步是非常快,延时非常少,很好用。估计是用户群体比较少,也没人投资和推广,网上搜“手机控制电脑”也搜不到它,我看出了3.7稳定版本就没有怎么更新了。也是因为它没有继续更新吧,小巧,简洁,够用。不过好的东西,总是应该推荐给大家的。 阅读全文
摘要:
用户在第一次安装游戏的时候可以用完整的APK包来进行安装,在之后如果存在逻辑代码需要更新时,仅需帮用户下载7MB左右的一个最小APK来把游戏覆盖安装即可。(虽然这个7MB左右还是比较大) 阅读全文
摘要:
测试结论是发现C++11原子操作在性能上,比以往用到的InterlockedIncrement或__sync_add_and_fetch性能上慢了1倍左右。 阅读全文
摘要:
大部分刚刚进入到游戏行业里的程序员,你问他什么叫位运算,他都懂,但实际中往往却不记得去使用它。
任何一个整数都可以用二进度的方式来表示的,不同类型的整数它的位数的长度也不一样,INT8或者char是由8个2进度位表示,INT16或者short是由16个2进度位表示,INT32是由32位状态位表示。 阅读全文
摘要:
C++类型转换
const_cast,字面上理解就是去const属性。
static_cast,命名上理解是静态类型转换。如int转换成char。
dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类型转换。
reinterpret_cast,仅仅重新解释类型,但没有进行二进制的转换。 阅读全文
摘要:
数组的初始化方式,可以用以上几种:
1.直接声明,以后再对其赋值。
2.声明的时候给出初始值,用"{}"来给出初始值,如果是char类型,是可以用{"a","b","c"}或者直接用字符串赋值"abc";
3.用一个指针声明,动态分配数组的大小,例子中是定义指针的时候就从堆中申请了4个int的内存来表示数组,也是可以在要用到的时候再用new申请分配内存,并且这样的数组是需要手动去进行内存释放的,请注意下面的delete。 阅读全文
摘要:
C++基本类型大小:在32位计算机中测试得到:sizeof(bool) == 1sizeof(char) == 1 sizeof(short) == 2sizeof(int) == 4sizeof(long) = 4sizeof(float) == 4sizeof(double) == 8类型枚举:... 阅读全文