
c/c++
djvc
这个作者很懒,什么都没留下…
展开
-
关于pvr和plist的联合使用
由于最近一段时间,那个《保卫萝卜》挺火的,所以就看看了他的资源,以猜想他的实现方式,感觉这个应用还是有不错的研究意义的。CCSize s = CCDirector::sharedDirector()->getWinSize(); CCSpriteFrameCache* cache = CCSpriteFrameCache::sharedSpriteFrameCache(); //ca原创 2013-05-25 19:29:16 · 2248 阅读 · 2 评论 -
编译libcurl
最近,由于公司需求,需要将游戏接入公司账户中心。给出了一个账号中心接口文档。大概类似如下:http://passport.xxxx.com/headapi/clientloginoper?username=123456789@xxx.com&password=123123&format=json返回格式是json格式。如果后端采用c++写的,第一时间想到libcur原创 2014-07-02 12:04:27 · 1900 阅读 · 0 评论 -
关于mysql的secure_auth
mysql_connect(): Connection using old (pre-4.1.1) authentication protocol refused (client option 'secure_auth' enabled)原创 2014-07-23 12:16:27 · 9499 阅读 · 0 评论 -
cocos2dx物理新特性深入分析
cocos2dx在3.x版本后,对物理引擎ch原创 2014-10-28 14:11:02 · 777 阅读 · 0 评论 -
关于eclipse的"serializing cdt project settings"解决方案
最近在使用eclipse作为cocos2dx的交叉bianyi原创 2014-11-14 14:01:06 · 4893 阅读 · 2 评论 -
cocos2dx编译android注意事项
最近在弄一个cocos2dx项目时,bian原创 2014-10-31 14:20:01 · 1627 阅读 · 0 评论 -
cocos2dx资源加载机制(同步/异步)
首先cocos2dx里的资源,有png,plist(pvr),exportjson(json)大致这三类,我们也从这3类去研究相应的加载代码。本次代码分析基于:cocos2dx3.21、pngpng格式的资源,从sprite作为一个切入口来分析,一般Sprite的创建如下Sprite* Sprite::create(const std::string& file原创 2015-03-18 16:00:35 · 5133 阅读 · 0 评论 -
关于自定义ScrollBar的图解
本图片解释于以下文章:http://cn.cocos2d-x.org/tutorial/show?id=2253图解个部件的释义:原创 2015-03-01 18:49:31 · 704 阅读 · 0 评论 -
关于cocos2dx的ObjectFactory
在cocos2dx的ui编辑器cocostudio有一套相关的api:1、表示各个UI控件的类,如LoadingBar,ListView等等,其都继承自Widget2、有相关各个UI控件解析的类,由于cocos提供UI编辑器,方便了开发者快速制作UI,动画等,载入游戏需要相关解析支持。从cocos2dx的实现来看,通过ObjectFactory实现了,自动注册,将类型与创建UI原创 2015-03-21 19:10:16 · 1294 阅读 · 0 评论 -
关于cocos2dx中的action源码分析
action是cocos2dx扮演中很重要的角色,很多特殊的效果,都是通过他来实现,而且通过他可以方便的产生很多效果,而不需要太多的相关知识储备、以及实现技巧。借着学习的思路,我们走一下cocos2dx中action的流程分析,大家共勉吧。【ActionManager篇】一般action的入口在:Action * Node::runAction(Ac原创 2015-03-25 16:57:07 · 1377 阅读 · 0 评论 -
Linux下进程信息的深入分析
这里我们主要介绍进程的状态,进程的状态可以通过/proc/PID/status来查看,也可以通过/proc/PID/stat来查看。如果说到工具大家用的最多的ps也可以看到进程的信息。这里我们通过/proc/PID/status来分析进程的信息。在2.6.18之后的内核,多了capibilty/cpusets等信息. 查看进程状态信息如下:more statusNa转载 2015-10-31 16:01:29 · 534 阅读 · 0 评论 -
Eclipse之NDK编译——常见异常的解决办法记录
转自http://www.myexception.cn/eclipse/1842938.html-------------------------------------------------------------------------------Eclipse之NDK编译——常见错误的解决方法记录在工程目录下的jni文件夹下编写的c/c++代码在编译时,通常会遇到如下的转载 2016-03-17 14:13:13 · 1081 阅读 · 0 评论 -
Android NDK环境搭建
使用最新ndk,直接抛弃cygwin,以前做Android的项目要用到NDK就必须要下载NDK,下载安装Cygwin(模拟Linux环境用的),下载CDT(Eclipse C/C++开发插件),还要配置编译器,环境变量,特别麻烦,新版就不需要了方法/步骤1Android官网下载Android的开发工具ADT(Android Developme转载 2016-05-27 15:11:42 · 497 阅读 · 0 评论 -
在C++中侦测内嵌型别的存在
在C++中侦测内嵌类型的存在(rev#2) By 刘未鹏(pongba)C++的罗浮宫(http://blog.youkuaiyun.com/pongba) 动机(Motivation)假设一所大学的注册系统提供了一个注册函数: templateclass T>void Register(T person){Register(person, typename T转载 2017-03-28 10:37:36 · 664 阅读 · 0 评论 -
我所理解cocos2d-x 3.6 lua -- Cocos如何绑定Lua自定义类
cocos2d-x 2.x 与 cocos2d-x 3.x 差异(tolua++) cocos2d-x在2.x版本里就是用toLua++和.pkg文件这么把自己注册进Lua环境里的,然而从cocos2d-x 3.x开始,用bindings-generator脚本代替了toLua++。 bindings-generator脚本的工作机制是:转载 2017-03-24 15:29:30 · 375 阅读 · 0 评论 -
C和C++的区别和联系
关于C和C++的区别是面试中经常会被问到的问题,本着即将面试的心态,进行知识整理,并对小知识点进行扩展;C/C++的联系:C++是C的超集,兼容大部分C的语法的结构; 联系嘛我只能想到这个,毕竟cplusplus嘛!C/C++区别: 第一点就应该想到C是面向过程的语言,而C++是面向对象的语言,一般简历上第一条都是熟悉C/C++基本语法,了解C++面向对象思想,那么,请问什么是...转载 2018-08-30 00:07:09 · 466 阅读 · 0 评论 -
redis学习入门初章
Hiredis是redis数据库一个轻量的C语言客户端库。之所以轻量是由于它只是简单的提供了对redis操作语句支持的接口,并没有实现具体的操作语句的功能。但正是由于这种设计使我们只要熟悉了通用的redis操作语句就可以很容易的使用该库和redis数据库进行交互。除了支持发送命令和接收应答/应答数据,它提供了对应答数据的解析操作。而且这个基于I/O层的数据流解析操作设计考虑到了复用转载 2014-03-23 22:37:59 · 720 阅读 · 0 评论 -
编译器链接选项中运行时库的区别
转自http://advancedcj.wordpress.com/2010/06/18/c-runtime-library-2/ 各种C运行时库的区别编译器链接选项: Visual C++编译时到底哪个C运行时库联入程序取决于编译选项,选项告诉编译器应用程序想使用什么版本的C标准程序库。与标准程序库有关的选项:/ML、/MLd、/MT转载 2014-04-01 17:27:00 · 1409 阅读 · 0 评论 -
《保卫萝卜》分析续——地图构成
上一篇文章我们分析了《保卫萝卜》的精灵显示部分,已经动画部分,详情见关于pvr和plist的联合使用在这篇文章了,我们看看《保卫萝卜》的地图是怎么设计的,通过其资源我们可以看到游戏资源里有tmx,基本上第一感觉就是tiled map editor这个开源的地图编辑器制作的。那么我们打开来看看。因为tmx里有资源的图片数据,如果你没有的话,就会弹一个窗,默认是这个情况原创 2013-06-06 00:23:05 · 3746 阅读 · 9 评论 -
Cocos2d-x 多分辨率适配完全解析
overview从Cocos2d-x 2.0.4开始,Cocos2d-x提出了自己的多分辨率支持方案,废弃了之前的retina相关设置接口,提出了design resolution概念。有以下相关接口:CCEGLView::sharedOpenGLView()->setDesignResolutionSize() //设计分辨率大小及模式CCDirector::sharedD转载 2013-08-11 17:27:22 · 1173 阅读 · 0 评论 -
x86架构下函数堆栈恢复方法
本文转自http://devpit.org/wiki/x86ManualBacktracex86ManualBacktraceThis tutorial will show you how to manually rebuild a backtrace with GDB on x86 using the stack frame pointer and current ins转载 2013-08-22 23:55:47 · 1310 阅读 · 0 评论 -
[Cocos2D-X官方文档]:多分辨率的支持
这篇涉及到的API只适用于cocos2d-x 2.0.4android的分辨率由于太多了很难来适配。但是Cocos2d-x提供了CCEGLView::setDesignResolutionSize() 和 CCDirector::setContentScaleFactor()来帮助你使用最小的工作量来让你的的游戏运行在不同分辨率下。基本原则自从2.0.4版本之后我们已经把所转载 2013-08-11 17:04:39 · 1115 阅读 · 0 评论 -
函数调用堆栈详解
出处已不可考,来自网络。这篇blog试图讲明当一个c函数被调用时,一个栈帧(stack frame)是如何被建立,又如何被消除的。这些细节跟操作系统平台及编译器的实现有关,下面的描述是针对运行在Intel奔腾芯片上Linux的gcc编译器而言。c语言的标准并没有描述实现的方式,所以,不同的编译器,处理器,操作系统都可能有自己的建立栈帧的方式。 一个典型的栈帧转载 2013-08-23 15:05:24 · 1018 阅读 · 0 评论 -
调用堆栈恢复实操
这篇文章用于实践关于x86下关于调用堆栈恢复。具体原理请参看这篇文章 http://blog.youkuaiyun.com/djvc/article/details/10202201函数调用栈的结构布局如下图所示一个典型的栈帧 ESP==>| : | | .原创 2013-08-23 14:56:27 · 1575 阅读 · 0 评论 -
探讨贴
最近写一个工具,基于MFC,但是遇到一个问题D:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\atltime.inl(140) : error C2039: “_time64”: 不是“`global namespace'”的成员D:\Program Files\Microsoft Visual Studio原创 2013-09-23 16:10:08 · 2446 阅读 · 0 评论 -
mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file
上网找了一下,只有英文网页有相关讨论,懒得去翻译了。中文网页中倒是有一个,而且有解决办法,那就是在项目属性——配置属性——链接器——清单文件中, 把生成清单改成否就行了。经过进一步的探索,发现在项目属性——配置属性——清单工具——输入和输出中,把嵌入清单改成否也行。然而,问题虽然解决了,原因却还不明。因为,既然生成清单和嵌入清单是微软的默认设置,为什么却会出现错误呢转载 2013-10-16 18:47:28 · 969 阅读 · 0 评论 -
关于cocos2d-x 2.2 版本创建工程问题
由于之前使用2.1.x 以及更早以前,可以使用msvc 模板创建脚本,在vs工具里可以很容易的创建cocos2d-x工程,今天下载了2.2版本,发觉已经没有原因的模板脚本了,在cocos2dx更新说明里也说了,以后采用python来创建cocos2dx工程。好吧,那我们就用这个来看看1、安装python 这个很关键,当时我下载的是最新的,3.x版本,而这个版本和2.2提供的原创 2013-10-29 16:10:23 · 725 阅读 · 0 评论 -
cocos2dx 中锚点
说在前面:以下是基于cocos2d-2.0-x-2.0.3作的总结问题在cocos2d示例代码HelloCpp中,为什么要将CCMenu设置位置到CCPointZero,即使CCMenu的锚点是在(0.5, 0.5)?回答这是因为CCMenu没有使用锚点进行坐标定位,而是使用的坐标原点。也就是说,CCMenu的坐标原点放到了其父节点的坐标原点。延伸不转载 2013-11-08 15:50:55 · 842 阅读 · 0 评论 -
关于cocostudio中demogame样例中ccmenu的位置的疑问分析
最近,看到cocos studio 这个神器出来,具体很神奇,就看了一下他的例子,其中关于demogame这个例子中,有一段百思不得其解,纳闷。由于研究cocos2dx只是副业(目前来说) 有些东西可能已经忘了差不多。主要其中关于这段代码 CCMenuItemImage *pCloseItem = CCMenuItemImage::create("CloseNormal.png原创 2013-11-08 17:34:00 · 1280 阅读 · 0 评论 -
cocostudio示例教程编译说明
关于cocostudio神器,目前还在不断完善中,而且其相关教程也在不断完善中,最近一次下载最新的教程,发现其工程只有2012版本,直接就把我们这些xp用户给抛弃了。这里提供一下vs2010版本(再以下版本不能保证本方法有效性) cocostudio示例下载地址https://github.com/chukong/CocoStudioSamples/archive/master.zip原创 2013-11-29 16:28:12 · 1815 阅读 · 0 评论 -
一步一步完成cocos2dx 2.2 的Android交叉编译
转自http://www.cppblog.com/zdhsoft/archive/2013/11/06/cocos2dx.html第一部分 安装一、Cygwin安装这个安装比较简单,网上也有大把的例子,这里我只是简述一下。首先去官网www.cygwin.com下载安装,安装包分32位和64位两种.视情况选择了。因为只是编译,这里选择的是32位版本。下载地址:转载 2014-01-03 18:33:53 · 760 阅读 · 0 评论 -
boost 源码 ref 库分析
引用文件: boost/ref.hpp一般情况下,泛型算法中的函数对象,传值语义是可行的,但是也有很多特殊情况,作为参数的函数对象拷贝代价过高(具有复杂的内部状态),或者不希望拷贝对象(内部状态不应该被改变),甚至拷贝是不可行的(noncopyable,单件)。boost.ref应用代理模式,引入对象引用的包装器概念解决了这个问题。template class refere原创 2014-02-13 22:40:53 · 1287 阅读 · 0 评论 -
vs2012在win7安装失败
提示.net framework4.5安装失败 参考网上各种方法,总结如下:-------------------------------------------------以管理员身份运行1.开始----- 运行------- cmd ----- 键入net stop WuAuServ回车(停止windows update服务)2.开始----- 运行--原创 2014-03-06 09:53:04 · 2111 阅读 · 0 评论 -
CMake实践
最近工作需求,需要从win平台移植到linux平台。上面建议用CMake,学习了一下,下面通过一个实例来说明、回顾一下CMake的使用。 cmake_minimum_required(VERSION 2.8)PROJECT(firest_test)ADD_DEFINITIONS(-D_CONSOLE)ADD_DEFINITIONS(-DWIN32)ADD_DEFINIT原创 2014-03-07 20:05:16 · 1224 阅读 · 0 评论 -
x86-64 下函数调用及栈帧原理
缘起在 C/C++ 程序中,函数调用是十分常见的操作。那么,这一操作的底层原理是怎样的?编译器帮我们做了哪些操作?CPU 中各寄存器及内存堆栈在函数调用时是如何被使用的?栈帧的创建和恢复是如何完成的?针对上述问题,本本文进行了探索和研究。通用寄存器使用惯例函数调用时,在硬件层面我们需要关注的通常是cpu 的通用寄存器。在所有 cpu 体系架构中,每个寄存器通常都是有建议的使用方法的...转载 2019-01-24 16:25:15 · 862 阅读 · 0 评论