<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[七月]]></title><description><![CDATA[这是一个记录c++技术的博客..................]]></description><link>https://blog.youkuaiyun.com/HayYoung</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; HayYoung]]></copyright><item><title><![CDATA[定位程序crash的方法。]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8898057</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8898057</guid><author>HayYoung</author><pubDate>Wed, 08 May 2013 00:03:57 +0800</pubDate><description><![CDATA[一、利用工具，比如CrashFinder。先来测试一段简单除0代码出错。

#include 

int crash(int x, int y)
{
	return  x / y;
}


int main()
{
	int ret = crash(80, 0);
	std::cout << ret << std::endl;
	return 0;
}

当前代码我用vs2008,relea]]></description><category></category></item><item><title><![CDATA[TestCpp里面常用代码摘抄<重力感应和动作管理类>]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8804909</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8804909</guid><author>HayYoung</author><pubDate>Mon, 15 Apr 2013 20:11:18 +0800</pubDate><description><![CDATA[一、保证pos的位置在min,max内
#define FIX_POS(_pos, _min, _max) \
    if (_pos < _min)        \
    _pos = _min;        \
else if (_pos > _max)   \
    _pos = _max;        \用法，保证一个CCSprite在屏幕内。
    FIX_POS(pt]]></description><category></category></item><item><title><![CDATA[初学试试看cocos2dx的TestCPP框架(11)---MenuTestScene]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8679148</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8679148</guid><author>HayYoung</author><pubDate>Sat, 16 Mar 2013 21:25:51 +0800</pubDate><description><![CDATA[一、CCLayerMultiplex类能管理多个层，但不能同时激活多个层。用法大概这样。

CCLayer * pLayer1 = new CCPlayer();
CCLayer * pLayer2 = new CCPlayer();

CCLayerMultiplex * layer = CCLayerMultiplex::create(pLayer1, pLayer2, NULL);
ad]]></description><category></category></item><item><title><![CDATA[初学试试看cocos2dx的TestCPP框架(10)---TouchesTest]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8671194</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8671194</guid><author>HayYoung</author><pubDate>Fri, 15 Mar 2013 02:03:51 +0800</pubDate><description><![CDATA[一、PongScene继承自TestScene，这个类里面有3个方法，但是当前代码来看，MainMenuCallback这个虚继续类有点多余，因为他仅调用一下父类的MainmenuCallback。
在构造里面，添加一个PontLayer层到场景中，这里注意一下。
    PongLayer *pongLayer = new PongLayer();//PongLayer::create();]]></description><category></category></item><item><title><![CDATA[初学试试看cocos2dx的TestCPP框架(9)---TextInputTestScene]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8666308</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8666308</guid><author>HayYoung</author><pubDate>Wed, 13 Mar 2013 23:12:20 +0800</pubDate><description><![CDATA[这个测试比较少，就2个方面测试。先看UML图。

一、TextFieldTTFDefaultTest类他继承自KeyboardNotificationLayer类。KeyboardNotificationLayer先设置setTouchEnable(true), 然后重载了registerWithTouchDispatchar
注册CCTouchDispachar来让Layer处理Touch]]></description><category></category></item><item><title><![CDATA[初学试试看cocos2dx的TestCPP框架(8)---AtlasTestScene(LabelTest)]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8661801</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8661801</guid><author>HayYoung</author><pubDate>Tue, 12 Mar 2013 20:59:16 +0800</pubDate><description><![CDATA[十四、Atlas1类里面有个成语变量CCTextureAtlas*        m_textureAtlas，先用CCTextureAtlas::create创建，然后用UpdateQuad更新。

    m_textureAtlas = CCTextureAtlas::create(s_AtlasTest, 3); m_textureAtlas->retain();
    
    C]]></description><category></category></item><item><title><![CDATA[怎样在VS2010中打开vs2012的项目]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8661561</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8661561</guid><author>HayYoung</author><pubDate>Mon, 11 Mar 2013 23:00:09 +0800</pubDate><description><![CDATA[VS2012中对C#的支持度非常好，不管是编写方便程度（不需要插件就能高亮代码及代码自动提示功能），还对MFC的一些功能优化很多。

    我们可以修改两个工程文件来把VS2012的工程文件一直到VS2010中去。

    首先当然是修改解决方案文件（.sln文件）。

    使用记事本打开，把里面的

Microsoft Visual Studio Solution Fil]]></description><category></category></item><item><title><![CDATA[初学试试看cocos2dx的TestCPP框架(7)---AtlasTestScene(LabelTest)]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8656626</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8656626</guid><author>HayYoung</author><pubDate>Sun, 10 Mar 2013 23:16:22 +0800</pubDate><description><![CDATA[四、这个Atlas4测试出现一个新函数，CCNode* getChildByTag ( int  tag ) ；这个函数获取CCLabelBMFont里面的单独字符，从0开始。利用这个函数，我们可以单独设置每一个字符颜色setColor，动作选择runAction等等，例如

	CCLabelBMFont *label = CCLabelBMFont::create("abcde", "bit]]></description><category></category></item><item><title><![CDATA[初学试试看cocos2dx的TestCPP框架(6)---AtlasTestScene(LabelTest)]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8654489</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8654489</guid><author>HayYoung</author><pubDate>Sat, 09 Mar 2013 23:47:02 +0800</pubDate><description><![CDATA[这个测试分为26个方面。

CCLayer* createAtlasLayer(int nIndex)
{
    switch(nIndex)
    {
        case 0: return new LabelAtlasTest();
        case 1: return new LabelAtlasColorTest();
        case 2: return n]]></description><category></category></item><item><title><![CDATA[初学试试看cocos2dx的TestCPP框架(5)---sceneTest]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8652478</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8652478</guid><author>HayYoung</author><pubDate>Sat, 09 Mar 2013 00:33:30 +0800</pubDate><description><![CDATA[先看一下类关系图，然后我们看关键类SceneTestLayer


SceneTestLayer1::SceneTestLayer1()
{
    //建立3个菜单
    CCMenuItemFont* item1 = CCMenuItemFont::create( "Test pushScene", this, menu_selector(SceneTestLayer1::onPush]]></description><category></category></item><item><title><![CDATA[MFC透明BUTTON、EDIT、STATIC控件]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8635989</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8635989</guid><author>HayYoung</author><pubDate>Tue, 05 Mar 2013 12:17:21 +0800</pubDate><description><![CDATA[一、先做透明的EDIT、STATIC，查看参考资料一，下载里面的文件，然后把“EditTrans.h" ”EditTrans.cpp"导入工程，把项目中的需要透明的EDIT改一下就可以了，
类似CEditTrans m_result; //原CEdit m_result 改为CEditTrans m_result就可以透明了。其他用法请查看资料1.
   注：如果在vs2010创建项目的时候选]]></description><category></category></item><item><title><![CDATA[初学试试看cocos2dx的TestCPP框架(4)---CCSkewTo、CCSkewBy]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8588876</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8588876</guid><author>HayYoung</author><pubDate>Mon, 18 Feb 2013 19:00:10 +0800</pubDate><description><![CDATA[CCActionInterval *actionTo = CCSkewTo::create(2, 70.0f, 0.0f);
    CCActionInterval *actionToBack = CCSkewTo::create(2, 0, 0);

    m_tamara->runAction(CCSequence::create(actionTo, actionToBack, NULL)]]></description><category></category></item><item><title><![CDATA[初学试试看cocos2dx的TestCPP框架(3)--scene]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8586262</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8586262</guid><author>HayYoung</author><pubDate>Mon, 18 Feb 2013 00:10:46 +0800</pubDate><description><![CDATA[我们先看看cocos2dx里面的test工程，开始先在applicationDidFinishLaunching()里面创建scene和 layer，layer是TestController()。
bool AppDelegate::applicationDidFinishLaunching()
{
    // initialize director
    CCDirector *pDire]]></description><category></category></item><item><title><![CDATA[初学试试看cocos2dx的TestCPP框架(2) --CCApllication]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8583604</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8583604</guid><author>HayYoung</author><pubDate>Sat, 16 Feb 2013 21:40:39 +0800</pubDate><description><![CDATA[--------------------------CCApllication类-----------------------------

cocos2dx肯定会从CCApplication是派生出一个类，一般来说，这个派生类会重写下面3个虚函数

//初始化scene与CCDirector
virtual bool applicationDidFinishLaunching();
//]]></description><category></category></item><item><title><![CDATA[简单的vs内存泄露调试技巧]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8565871</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8565871</guid><author>HayYoung</author><pubDate>Sat, 02 Feb 2013 22:35:18 +0800</pubDate><description><![CDATA[内存泄露
  一、vs监测内存泄露，利用crt库就可以，不需要利用专门的工具。操作仅2步。
1、增加宏和头文件
#define _CRTDBG_MAP_ALLOC 
#include 
#include 

  注意:为了保证这三行代码的顺序，最前面放这三行代码。假设我们在这3行之前，增加#include ， 因iostream包含了stdlib.h，则会隐式破坏顺序，导致malloc函]]></description><category></category></item><item><title><![CDATA[vs和gcc中的deprecated。]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8559127</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8559127</guid><author>HayYoung</author><pubDate>Thu, 31 Jan 2013 13:47:19 +0800</pubDate><description><![CDATA[#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
    #define CC_DEPRECATED_ATTRIBUTE __attribute__((deprecated))
#elif _MSC_VER >= 1400 //vs 2005 or higher]]></description><category></category></item><item><title><![CDATA[初学试试看cocos2dx的TestCPP框架(1)]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8536719</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8536719</guid><author>HayYoung</author><pubDate>Thu, 24 Jan 2013 09:41:32 +0800</pubDate><description><![CDATA[先模拟一下实现

#include 
#include 

using namespace std;

class CCApplication
{
public:
	CCApplication() 
	{
		sm_pSharedApplication = this;
	}

	int run() {
		cout << "run() function, sm_pSharedApplicati]]></description><category></category></item><item><title><![CDATA[vs2008安装和打补丁]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8478462</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8478462</guid><author>HayYoung</author><pubDate>Mon, 07 Jan 2013 20:35:13 +0800</pubDate><description><![CDATA[vs2008中文： ed2k://|file|zh-Hans_visual_studio_2008_professional_x86_dvd_X14-26491.iso|3972526080|6690005555AFD1EC7FA9F7D1BA797FBB|/
vs2008 sp1(安装完后补丁应该是9.0.21022.8)：ed2k://|file|zh-hans_visual_studio_]]></description><category></category></item><item><title><![CDATA[封装函数时候，函数内分配内存简单管理方法。]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8456696</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8456696</guid><author>HayYoung</author><pubDate>Tue, 01 Jan 2013 04:24:48 +0800</pubDate><description><![CDATA[网上常见人这样封装代码，这种代码缺点就是要手工处理new处理的内存空间。//读取一个文件的内容到缓冲区，下面的代码仅是例子，不写错误处理。
int LoadToBuffer(const char* filename, byte* buffer)
{
	ifstream ifs(filename);
	int filesize = static_cast(boost::filesystem::fil]]></description><category></category></item><item><title><![CDATA[TerminateThread的缺点]]></title><link>https://blog.youkuaiyun.com/HayYoung/article/details/8456167</link><guid>https://blog.youkuaiyun.com/HayYoung/article/details/8456167</guid><author>HayYoung</author><pubDate>Mon, 31 Dec 2012 20:20:57 +0800</pubDate><description><![CDATA[1.TerminateThread是个异步运行函数，执行后不能保证线程马上就结束。
2.TerminateThread在c++里面可能会造成资源泄露，比如
#include 
#include 

using namespace std;

class foo 
{
public:
	foo() { cout << "foo()" << endl; }
	~foo() { cout << "~]]></description><category></category></item></channel></rss>