- 博客(215)
- 资源 (6)
- 收藏
- 关注
转载 多线程join会和和detach分离的区别
线程状态:在一个线程的生存期内,可以在多种状态之间转换,不同的操作系统可以实现不同的线程模型,定义许多不同的线程状态,每个状态还可以包含多个子状态,但大体来说,如下几种状态是通用的:1)就绪:参与调度,等待被执行,一旦被调度选中,立即开始执行2)运行:占用CPU,正在运行中3)休眠:暂不参与调度,等待特定事件发生4)中止:已经运行完毕,等待回收线程资源线程环境:线程存在...
2019-02-21 23:58:56
901
转载 JS OC JAVA互相调用
转自:https://www.cnblogs.com/billyrun/articles/8529503.htmlCocosCreator原生游戏js与oc/java互调新项目需要在app游戏大厅中集成众多小游戏仍然使用creator开发然而若发布h5版本,用户首次加载时间相对较长因此首批打算将游戏集成在app中,发布原生版本这里总结一下ios原生版本开发过程中js与oc的...
2019-01-28 11:49:50
939
转载 IOS OC声明变量在@interface括号中与使用@property的区别
IOS OC声明变量在@interface括号中与使用@property的区别(转载)刚开始接触OC再看别人写的代码的时候,常常困惑于人家在声明属性时的写法,总结出来有三中方式,不知道哪一种比较规范化,现在我把三种方式贴出来,然后再一一探讨每个方式声明属性的区别。方式一:直接在@interface中的大括号中声明。 @interface MyTest : NSObject{ ...
2018-11-30 12:16:03
436
原创 为什么在JAVA/JAVASCRIPT里要做&0xFF位运算
function dataGet(byte:Byte):Number{ return byte&0xFF;}为什么要做&0xFF的位运算?先看 源码 反码 补码,计算机内部存储的二进制码是补码。原码最高位位符号位,0表示正数,1表示负数,除非变量特别声明为unsigned类型则最高位就非符号而表示的是值(这个在JAVA/js里没有),计算机存储器和编译器之间...
2018-10-02 16:07:31
1501
转载 JavaScript中原型对象的彻底理解(讲得很透彻,需要仔细阅读)
一、什么是原型原型是Javascript中的继承的基础,JavaScript的继承就是基于原型的继承。1.1 函数的原型对象 在JavaScript中,我们创建一个函数A(就是声明一个函数), 那么浏览器就会在内存中创建一个对象B,而且每个函数都默认会有一个属性 prototype 指向了这个对象( 即:prototype的属性的值是这个对象 )。这个对象B就是函数A的原型对象,...
2018-09-21 18:08:02
11242
11
转载 算法的核心是区分复杂度,选用最适合当前的算法
1、算法的概念:算法 (Algorithm),是对特定问题求解步骤的一种描述。解决一个问题往往有不止一种方法,算法也是如此。那么解决特定问题的多个算法之间如何衡量它们的优劣呢?有如下的指标:2、衡量算法的指标:(1)时间复杂度:执行这个算法需要消耗多少时间。(2)空间复杂度:这个算法需要占用多少内存空间。 同一个问题可以用不同的算法解决,而一个算法的优劣将影响到算法乃至程...
2018-09-21 12:30:29
911
原创 assert与if的区别(讲个小故事一下就明白了)
记得我好像给小明说过:记住了,assert是在debug模式下才有效,它是一个用于调试的宏,除非你修改系统宏,我想吃饱了没事干才那样做。今天:我:小明,这是release版本要上线了,下面这两句代码是你写的?怎么没有if判断呢? int* p = (int*)malloc(sizeof(int)); assert(p);小明:哥,是我写得啊,assert不是也是用来判断的...
2018-09-15 15:34:24
6525
3
转载 C++ 11 左值,右值,左值引用,右值引用(emplace用法关键),std::move, std::foward
转自:https://blog.youkuaiyun.com/xiaolewennofollow/article/details/52559306这篇文章要介绍的内容和标题一致,关于C++ 11中的这几个特性网上介绍的文章很多,看了一些之后想把几个比较关键的点总结记录一下,文章比较长。给出了很多代码示例,都是编译运行测试过的,希望能用这些帮助理解C++ 11中这些比较重要的特性。关于左值和右值的...
2018-09-14 11:00:13
529
转载 字符编码方式及判断整理(ANSI,Unicode,utf-8,utf-16,utf-32)
一、编码方式 说编码之前,先扯个淡!大家都知道计算机只能识别1和0,编码就是将不同的符号与1和0的组合进行一下映射,做到能够表示哪个组合能够对应那个字符,由于早期的不能预料到未来的情况,后续互联网扩张后又要做到兼容,就出现了五花八门的编码。还值得一说的是计算机的处理一般面向字节或者字,位的操作也应该是通过对字节处理来模拟的。编码的长度一般都以字节来算。学习C语言的同学最刚开...
2018-09-12 16:53:16
1681
转载 string和string.h和cstring之间的关联
头文件string与string.h的区别在C++中,#include<iostream>与#include<iostream.h>的区别,前者要使用更新的编译器(其实大部分编译器多比较前卫了,出了有些搞嵌入式的用变态的编译器)。喔,原来iostream是C++的头文件,iostream.h是C的头文件,即标准的C++头文件没有.h扩展名,将以前的C的头文件转化为C...
2018-09-11 23:33:43
712
转载 导出函数__declspec(dllexport)导入函数__declspec(dllimport),浅显易懂的理解
一般而言,动态链接库中定义有两种函数:导出函数(export function)和内部函数(internal function)。 导出函数可以被其它模块调用,内部函数在定义它们的DLL程序内部使用。在要输出的函数、类、数据的声明前加上__declspec(dllexport)的修饰符,表示输出。有导出就有导入__declspec(dllimport),声明某个类、函数是从dll中导入的...
2018-09-06 10:27:27
2019
转载 vs 中C++修改入口main函数
1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.2. 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。 解决方法1.进入project->setting->c/c++, 在category中选择preprocessor,在...
2018-09-05 12:11:25
12052
2
原创 vs 调试之查看多个变量时可以临时内存注释
当在debug模式下调试时,鼠标放到变量上面就可以看到变量内的存储结构,查看单个还没啥,如果想查看多个,而且还要作对比或者逻辑梳理该怎么办呢,发现刚好有这功能。 那就是鼠标在放到变量上显示变量内存的同时尾部有个类似电源插头的符号,点击它后,它就把变量的内存结构单独给你显示到一旁;鼠标再放到被列出来的变量内存结构上又会在尾部出现这个符号︾(注释折叠),点开它,你可以输入临时注释...
2018-09-03 11:57:09
329
转载 给变量和函数命名很重要,,几个关键点
看到一个关于命名的文章,写得不错,说到了关键点,原文:https://blog.youkuaiyun.com/yu_duan_hun/article/details/78212380我总结了他说的很实用和明显的关键点:1.如果有相似的名字,请把它们不同的部分写在开头,其次考虑写在结尾,不要把很有代表性的关键词部分放在中间,这会增大错误率,容易书写错误且不容易检查。2.给函数命名使用 动词开头...
2018-08-30 23:38:34
1899
转载 无命名空间的C库函数和有命名空间的C/C++函数库的用法
C语言程序中各种功能基本上都是由函数来实现的,在C语言的发展过程中建立了功能丰富的函数库,C++从C语言继承了这份宝贵的财富。在C++程序中可以使用C语言的函数库。 如果要用函数库中的函数,就必须在程序文件中包含有关的头文件,在不同的头文件中,包含了不同的函数的声明。 在C++中使用这些 头文件有两种方法。 1、用C语言的传统方法 头文件名包括后缀.h,...
2018-08-27 14:43:11
1401
转载 extern /"C“/头文件,关联甚多详解
原文网址为:http://lpy999.blog.163.com/blog/static/117372061201182051413310/个人认为有一些道理:所以转过来学习了。用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字? 如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include<xxx.h> (xx...
2018-08-27 14:36:42
748
转载 委托模式(事件回调函数就是最明显的委托模式)
一、前言在讨论cocos2d-x里面的委托模式之前,先来讲讲什么是委托,以及c++里面如何实现委托。委托通常还会跟回调、闭包联系在一起,而委托和委托模式也有一点区别。其实就是你要设计一些可重用的组件,或者有些行为(这里的行为指回调函数里需要执行的动作,也就是被委托者干的事)在编译的时候无法确定,需要根据运行时环境指定,也可以采用委托。(框架和可重用组件都包含委托思想,都是尽量和具体行为分离...
2018-08-24 16:27:06
948
转载 C++11中的Lambda表达式构成之——捕获值列表类型解析
摘抄之:捕获值列表,是允许我们在Lambda表达式的函数体中直接使用这些值,捕获值列表能捕获的值是所有在此作用域可以访问的值,包括这个作用域里面的临时变量,类的可访问成员,全局变量。捕获值的方式分两种,一种是按值捕获,一种是按引用捕获。顾名思义,按值捕获是不改变原有变量的值,按引用捕获是可以在Lambda表达式中改变原有变量的值。[捕获值列表]:1、空。没有使用任何函数对象参数。2、=...
2018-08-24 07:30:14
1297
转载 ContentScaleFactor 的用法以及解释
看了官网这篇关于适配的文章,涉及一个函数叫setContentScaleFactor。尤其是最后一句: ResolutionPolicy::FIXED_HEIGHT适合高方向需要撑满,宽方向可裁减的游戏,结合setContentScaleFactor(RH/DH)使用。ResolutionPolicy::FIXED_WIDTH适合宽方向需要撑满,高方向可裁减的游戏...
2018-08-23 17:45:09
4832
转载 Cocos2d-Lua之面向对象的封装的具体原理细节
https://blog.youkuaiyun.com/maoliran/article/details/51704714
2018-08-21 15:08:59
291
转载 Cocos2d-x屏幕适配原理分析
http://www.devstore.cn/new/newInfo/659.htmlsetPosition()的变化之前版本可能已经习惯了CCNode::setPosition(const CCPoint &position);和CCNode::setPositionInPixel(const CCPoint &position);但在新的版本里,只有setPositio...
2018-08-20 18:41:33
342
转载 lua 求table长度和判断空
local table_a = {} 判断一:(错误方法) if table_a == {} then --你会发现你怎么也进不来 条件判断始终返回false,为什么会这样呢? --原因:{}相当于创建了一个表,只不过这个表的名字是匿名的,你看不到,我们假设它叫table_b --你会发现判断条件变成了比较table_a、t...
2018-08-20 12:01:58
7824
1
转载 Cocos2d-x 3.x getContentSize、getBoundingBox区别,灵活运用于碰撞检测
在很多碰撞检测中经常可以看到它,getContentSize,还有它getBoundingBox的影子。为了具体搞清楚这些细节的东西,写了点代码,测试下。如下图 给一个精灵(100*100),放到它的大小,然后输出值。 getContentSize很容易理解,就是获取到当前物体的大小,但是要注意是本身大小,无论是是缩放还是缩小了,其获取的还是它原来的本身大小。所以放到后还是...
2018-08-20 11:47:24
1485
转载 Cocos2d-x 详解坐标系统
这篇博文将介绍一下在cocos2dx中的一些坐标系统概念:一、 (1)OpenGL坐标系Cocos2D-x以OpenGL和OpenGL ES为基础,所以自然支持OpenGL坐标系。该坐标系原点在屏幕左下角,x轴向右,y轴向上。(2)屏幕坐标系屏幕坐标系使用的是不同的坐标系统,原点在屏幕左上角,x轴向右,y轴向下。iOS的屏幕触摸事件CCTouch传入的位置信息使用的是该...
2018-08-20 10:38:07
529
转载 Cocos2d-x之getVisibleSize,getContentSize,boundingBox,getContentSizeInPixels,convertToGL,convertToUI
CCNode类的setPosition,getPosition函数如果是一个Node的Child则获取的坐标就是该Node的本地坐标另一个关键问题就是在cocos2d-x里就是各种对象的大小问题。因为在cocos2d-x里CCNode对象有缩放的方法setScaleX和setScaleY。所以在获取对象大小的时候必须根据情况明确指定获取对象原始大小,还是缩放后的大小。当然cocos2d-x...
2018-08-17 19:01:02
401
转载 cocos UI控件几乎都继承自widget
游戏开发中,经常会使用到很多有关界面的控件,这些都属于UI控件。看了一下cocos里面的各种控件,几乎所有UI控件的基类都继承Widget类,目前看是这样,这个类是节点类的一种,若要自定义UI控件,继承这个类是必须的。Widget类里包含了:FocusDirection 控件焦点方向PositionType 布局系统中的控件位置类型SizeType 布局系统中的控件尺寸类型...
2018-08-17 18:54:59
1308
转载 Scene场景树结构里的node节点和场景内的层的关系,以及层节点的渲染顺序和触摸响应顺序
场景图(Scene Graph)是一种安排场景内对象的数据结构,它把场景内所有的 节点(Node) 都包含在一个 树(tree) 上。(场景图虽然叫做"图",但实际使用一个树结构来表示)。虽然场景图是一个树结构,你就能遍历它,Cocos2d-x 使用 中序遍历,先遍历左子树,然后根节点,最后是右子树。z-order 为负的元素,z-order 为负的节点会被放置在左子树,非负的节点会被放在...
2018-08-17 18:49:54
1121
原创 getVisiblesize()和getVisibleOrigin可视分辨率的算法,以及适配后设计分辨率发生变化!
当知道了getWinSize是自己的设计分辨率 ,getFrameSize是设备分辨率后,还有知道资源的分辨率一般是参考设计分辨率,如果是设备分辨率宽高比等于设计分辨率宽高比,那么不管哪种适配方式资源图片都能正常缩放铺满屏幕,只是分辨率效果不同而已,此时visibleSize也等于屏幕分辨率SIZE,但如果是设备分辨率的宽高比和设计分辨率宽高比不一致时,这时候visibleSize...
2018-08-17 16:26:48
1224
转载 装饰者模式(C++实现)
想要扩展功能,装饰者提供了有别于继承的另外一种选择。 装饰者模式主要实现的功能是动态的给某一个类添加一些额外的功能,它是一个锦上添花者。想要扩展功能,装饰者提供了有别于继承的另外一种选择。设计模式的原则是多用组合少用继承。 uml 图: 特点: 1. 装饰者和被装饰者拥有相同的超类型(可能是抽象类也可能是接口) 2. 可以用多个装饰类来包装一个对...
2018-08-17 11:33:16
748
转载 Cocos2d Lua开发环境完全搭建
转自:https://blog.youkuaiyun.com/zhouyongku/article/details/72891661 总体思路:用cocos2d自带的phthon脚本生成工程,cocos2d自带lua虚拟机,通过babelua插件显示已经创建的lua工程 然后通过代码中增加lua-cocos2d的接口来创建工程 1. 安装visual studio 2013 ...
2018-08-11 23:12:12
709
转载 怎么去熟悉别人的框架,,这些经验里找找关键词路子
不知道你有没有经历过一个五年或者更长工作年限的开发人员半路加入团队的情况,可能第一两个星期他会问一些业务或者技术问题,不过一两个月他就可能在指导那些初级开发人员了。什么原因呢?因为他已经从过往经验里面总结出来一些套路了。那么套路是什么呢?1. 绝大部分业务系统,不管他后端是oracle、mysql、nosql还是内存数据库,也不管他前端是web、h5、winform、android还是ios...
2018-08-10 01:03:32
821
原创 当不想学习的时候
1.越不想学越来越难做,而越学越做越轻松!(选择的任何路都是如此,看多学多只会轻车熟路。。。不学不看只会心急乱窜) 2.有理论的都不是难事,怕的是无任何理论依据才是难事。(书基本集合了理论知识) 3.如果是因为很久捉摸不透造成被动的学习信心不足,立马学习其他有兴趣的,后面精神好再战。 4.先把这件事做好,你才有资格说自己感不感兴趣,如果已经轻车熟路你都...
2018-08-10 00:34:13
1085
原创 为什么要学习设计模式
废话不想多说,就说关键让你信服。 前情一:上班后,很多时候首先就需要熟悉公司项目的代码工程,里面一大批分支,一大堆代码文件,看着都头疼,这对于编程新手初级程序员来说想要短时间弄透它的结构是多么难的一件事啊。如果你熟练设计模式,那问题就不大了,首先大框架如果是MVC模式那简直是一个通透啊,数据管理文件放一堆,控制逻辑放一堆,显示放一堆,三个大堆结构就清清楚楚。然后再看自己需...
2018-07-24 16:47:40
813
1
转载 OC--内存管理之自动释放,[NSMutableArray array]生成的自动释放数组被自动释放后引起的严重后果
在做一个TableView程序时,要在表格里显示一个文件夹内所有文件的清单,程序在一开始显示时正常,但是一滚动窗口时就崩溃,查找这个错误整整花了我一天的时间,原来出在NSMutableArray初始化时用的方法不正确,都是因为Objective-C的基础知识没学好。在一个UITableViewController类中声明了一个NSMutableArray *localFiles这样一个数组
2015-07-14 18:01:08
3342
转载 oc--alloc和 init,为什么init后内存地址变了
从开始学的NSString *name=[[NSString alloc]init] 起,老师教这句话是分配内存空间,一直在用,从来没考虑过它的内部是怎么实现的.今天无意中看到了这一句代码NSString *name=[NSString alloc];NSLog(@"%p",name);name=[name init];NSLog(@"%p",name);试
2015-07-14 17:39:42
1498
原创 oc-内存管理之自动释放--我自动释放了我使用的所有对象,但程序占用内存还是偏高,为什么?
摘自:OC基础教程如下: 有时,自动释放池未能按照通常预期的情况进行清理。于是就有了问题“虽然我已经自动释放了我所使用的所有对象,但是我的程序占用的内存一直保持绝对的增长。”,下面的代码通常会引起这样的问题: int i; for( i = 0; i {id object = [someArray objectAtIndex:i];NSSt
2015-07-14 16:53:39
2607
转载 Protocol in Objective-C
前面提到了OOP的繼承,但不像C++可以有多重繼承,Objective-C是單一繼承的,如果想要做到一個類別同時擁有多種型別的能力,可以透過實作其它型別的interface來達成這個目的。在Java/AS3是用”interface”這個關鍵字,在Objective-C則是用”@protocol”。(有寫過Java/AS3的要特別注意不要把interface跟protocol搞混了,在Objecti
2015-07-14 11:46:14
435
原创 alloc new copy以外的对象如何释放
alloc new copy都是自动引用计数+1,那么没有用到这三个方法的对象是如何释放的呢? NSMutableArray* array; array = NSMutableArray arrayWithCapacity:17]; //count:1 autoreleased, use the array arrayWithCapacity方法不属于alloc new
2015-07-14 11:23:31
1278
转载 xml配置文件不能被正确解析的特殊符号的处理方法
如果你的xml文件在浏览的时候出现了以上这些错误提示,那就证明你的xml文件中存在一些不能被正确解析的特殊符号,今天小编就给大家说一下,在xml中英文问号“?”是可以被正常解析的,但是以下这几种符号是不能正常解析的:分别是“&”、“”、“>”、“'”、“"”。解决方法一:把实体引用编码后使用,即把“&” 编码为 “&” 把“” 编码为“<” 把“>”
2015-07-09 14:35:44
13292
原创 为什么安装了证书,却不能用,有时候钥匙串里也没有安装成功?
关于这个问题,我以前遇到的时候也头疼得很,特别是用第三方的证书或者别人共用根证书就会出现各种安装不上,或者安装上也不能匹配使用。 首先,我们知道,当我们自己用自己的开发账号在苹果后台创建证书的时候都会通过本机向证书管理系统请求一个"CertificateSigningRequest.certSigningRequest",然后再生成证书的过程中上传到开发者后台,如果是自己申请的,下载
2015-07-09 11:57:54
8750
虚拟机vmware12及mac10.11.1下载及安装方法.txt
2019-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人