2014年3月3日

在Visual Studio 2010中使用Visual Leak Detector

摘要: Visual Leak Detector是过去(Visual Studio 2008的时代)我们常用的C/C++内存泄露检查工具。在Visual Studio 2010中依然可以使用该工具,但有两点需注意:版本问题设置变化版本问题:在codeproject.com上面提供的最新版本依然是1.9d,但是请注意,该版本在Visual Studio 2010下面表现非常差。网上有很多人注意到了这一点,很多人推荐用1.0版,因为1.0版在Visual Studio 2010下工作良好。但是,实际上没有必要这么做,因为1.0版确实没有后续版本方便,而且实际上Visual Leak Detector已经更 阅读全文

posted @ 2014-03-03 22:51 &大飞 阅读(171) 评论(0) 推荐(0)

Visual Leak Detector (VLD)使用

摘要: Visual C++内置内存泄露检测工具,但是功能十分有限。VLD就相当强大,可以定位文件、行号,可以非常准确地找到内存泄漏的位置,而且还免费、开源!在使用的时候只要将VLD的头文件和lib文件放在工程文件中即可。也可以一次设置,新工程就不用重新设置了。只介绍在Visual Studio 2003/2005中的设置方法,VC++ 6.0类似:打开Tools -> Options -> Projects and Solutions -> VC++ Directories;然后点击include files下拉列表,在末尾把VLD安装目录中的include文件夹添加进来;同样点击 阅读全文

posted @ 2014-03-03 22:45 &大飞 阅读(400) 评论(0) 推荐(0)

Cocos2d-x内存管理(二)

摘要: Cocos2d-x内存管理(二)前一篇我们讲到cocos2d-x里的内存管理机制,以及引擎中的自动内存管理机制。一个被自动管理的对象从new出来之后到被放到autoreleasepool那么接下来,对象是如何被引擎自动delete掉的呢?首先我们要知道,cocos2d-x的引擎线程是单线程的,它不停的调用voidCCDisplayLinkDirector::mainLoop(void)来绘制当前的Scene ,同时对一些自动释放的对象进行管理。我们先到一个cocos2d-x项目的main()函数里面:这里调用了一个run()方法,我们跟踪进去:Run方法有个while(1)循环,不断的调用ma 阅读全文

posted @ 2014-03-03 22:42 &大飞 阅读(169) 评论(0) 推荐(0)

cocos2d-x内存管理机制解析(一)

摘要: 前言:c++内存机制,采用new关键字实例化的对象,必须在不使用的时候手动delete掉,否则new的时候开辟的内存就不能被回收,造成内存泄露。我们来举个例子说明一下: 运行 结果,vld工具提示了存在内存泄露:当加上delete操作后:下面步入正题:1、cocos2d-x 内存管理的方式,cocos2d-x采用引用计数的方式进行内存管理,当一个对象的引用计数为0的时候,就会被引擎自动delete掉。所有cocos2d-x里面的类都继承ccobject类(应该是吧、),下面看ccobject类源码:这里m_uReference就是引用计数,在对象构造的时候,m_uReference置为1然后. 阅读全文

posted @ 2014-03-03 22:41 &大飞 阅读(362) 评论(0) 推荐(0)

2014年1月13日

如何在Windows上用Wireshark截获iPhone网络通讯

摘要: 不管是iPhone的iOS还是Android系统上开发的应用App基本上都会需要使用网络通讯来传输数据。开发者有的时候可能会需要通过抓包的方式来了解应用具体在传输些什么数据,以及数据是否正确。今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone、iPad等iOS设备或Android设备的网络通讯数据的方法。要捕获iPhone传输的数据我们不能直接在iPhone上进行。所以我的想法是在Windows上安装一个Wireshark抓包软件,同时这台电脑有一张无线网卡。然后我将这台Windows电脑的无线网卡设置成为一个无线路由器,然后用iPhon 阅读全文

posted @ 2014-01-13 10:25 &大飞 阅读(511) 评论(0) 推荐(0)

2013年10月14日

Intent附加数据的两种写法

摘要: 第一种写法,用于批量添加数据到Intent:Intent intent =new Intent();Bundle bundle =new Bundle();//该类用作携带数据bundle.putString("name", "林计钦");intent.putExtras(bundle);//为意图追加额外的数据,意图原来已经具有的数据不会丢失,但key同名的数据会被替换 第二种写法:这种写法的作用等价于上面的写法,只不过这种写法是把数据一个个地添加进Intent,这种写法使用起来比较方便,而且只需要编写少量的代码。Intent intent =new 阅读全文

posted @ 2013-10-14 18:12 &大飞 阅读(235) 评论(0) 推荐(0)

2013年8月26日

lua学习之table类型

摘要: 关系表类型,这是一个很强大的类型。我们可以把这个类型看作是一个数组。只是C语言的数组,只能用正整数来作索引;在Lua中,你可以用任意类型的值来作数组的索引,但这个值不能是nil。同样,在C语言中,数组的内容只允许一种类型;在Lua中,你也可以用任意类型的值来作数组的内容,nil也可以。基本介绍注意三点: 第一,所有元素之间,总是用逗号","隔开; 第二,所有索引值都需要用"["和"]"括起来;如果是字符串,还可以去掉引号和中括号;即如果没有[]括起,则认为是字符串索引 第三,如果不写索引,则索引就会被认为是数字,并按顺序自动从1往后编 阅读全文

posted @ 2013-08-26 15:04 &大飞 阅读(397) 评论(0) 推荐(1)

Lua中的table函数库

摘要: 一部分的table函数只对其数组部分产生影响, 而另一部分则对整个table均产生影响. 下面会分开说明.table.concat(table, sep, start, end)concat是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组部分从start位置到end位置的所有元素, 元素间以指定的分隔符(sep)隔开。除了table外, 其他的参数都不是必须的, 分隔符的默认值是空字符, start的默认值是1, end的默认值是数组部分的总长.sep, start, end这三个参数是顺序读入的, 所以虽然它们都不是必须参数, 阅读全文

posted @ 2013-08-26 14:57 &大飞 阅读(168) 评论(0) 推荐(0)

2013年7月2日

COCOS2DX-LUA 脚本开发之六利用Lua强转函数解决使用CCNode报错

摘要: Cocos2dx-Lua群中有童鞋出现一个问题,问题是当他在Lua项目中利用Lua创建一个局部变量CCSprite或者CCLayer等CCNode,然后在其他的函数中通过其索引取出之前创建过的CCSprite或CCLayer等,取出后进行设置设置透明、坐标、缩放、runAction等大部分几率都出现无法正常缩放、透明等这些操作。群友尝试了很多方式,都没有解决掉。其实对于此种问题很多刚接触Lua开发cocos2dx的开发者都很容易遇到,其实就是个强转的问题,例如:在 cpp中利用getChildByTag 函数获取目标tag的ccnode:12CCSprite* sp = (CCSprite*) 阅读全文

posted @ 2013-07-02 17:59 &大飞 阅读(533) 评论(0) 推荐(0)

2013年5月18日

CentOS用户和组管理

摘要: 一.组管理1.添加用户组groupadd2.删除用户组groupdel3.修改用户组groupmod4.切换用户组newgrp <groupname>如果一个用户同时属于多个用户组,可以用newgrp命令切换至目的组,以便能够拥有该组的权限。5.查看所有组所有组其实就是/etc/group文件的内容做一些过滤。cat /etc/group | awk -F: '{print $1}'6.查看用户所在组groups <username>二.用户管理1.添加用户useradd <username> -d <path> -m -g –G 阅读全文

posted @ 2013-05-18 20:21 &大飞 阅读(143) 评论(0) 推荐(0)

CentOS下查看已经登录用户并踢出的方法

摘要: CentOS下查看已经登录用户并踢出的方法Linux是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务。系统管理员可以随时了解系统中有那些用户,用户都在进行什么操作。查看用户的操作系统管理员若想知道某一时刻用户的行为,只需要输入命令W(CentOS下为小写的w) 即可,在SHELL终端中输入如下命令:可以看到执行W命令及显示结果。命令信息含义 www.2cto.com 上述显示的信息分别表示如下:第一行显示系统的汇总信息,字段分别表示系统当前时间、系统运行时间、登陆哟内用户总数及系统平均负载信息。对于上述中的几个显示数据意义为:15:59:27 表示执行W的时间。up 1:01 阅读全文

posted @ 2013-05-18 20:20 &大飞 阅读(312) 评论(0) 推荐(0)

通过yum安装Nagios

摘要: 主监控机设置:1、安装epel# cat /etc/issueCentOS release 6.0 (Final)Kernel \r on an \m# rpm -ivhhttp://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm2、安装nagios、nagios-plugin与nrpe (nagios 3.3.1版本)# yum install nagios nagios-plugins nagios-plugins-all nagios-plugins-nrpe nrpe3、创建一个nagiosadmin 的 阅读全文

posted @ 2013-05-18 18:48 &大飞 阅读(221) 评论(0) 推荐(0)

CentOS下安装semanage

摘要: 安装:# yum -y installpolicycoreutils-pythonsemanage port -a -t ssh_port_t -p tcp 1761semanage port -l | grep sshnetstat -tlpiptables -Lyum provides manfind / -name nagios查看用户:cat /etc/passwd查看组:cat /etc/groupcat /etc/group | awk -F: '{print $1}' 阅读全文

posted @ 2013-05-18 18:13 &大飞 阅读(1090) 评论(0) 推荐(0)

CentOS Mini 安装 cacti 全过程

摘要: //添加“IP”vi/etc/sysconfig/network-scripts/ifcfg-eth0------------------------------------------------------DEVICE=eth0#网卡对应的设备别名BOOTPROTO=static#设置网卡获得ip地址的方式,可为static,dhcp或bootpBROADCAST=192.168.1.255#对应的子网广播地址IPADDR=12.168.1.200#网卡ip地址的方式为静态指定NETMASK=255.255.255.0#网卡对应的网络掩码NETWORK=192.168.1.0#网卡对应的网 阅读全文

posted @ 2013-05-18 17:41 &大飞 阅读(310) 评论(0) 推荐(0)

2013年4月1日

jmail.dll 组件 在 win2008 64位系统上无法使用解决方案

摘要: jmail.dll 组件 在 win2008 64位系统上无法使用开发平台: win7 32位 asp.net mvc2 vs2010 服务器平冶: win2008 64位 IIS7项目做好了, 发布到服务器运行提示:Retrieving the COM class factory for component with CLSID {E5FF9F62-0E7C-4372-8AD5-DA7D2418070C} failed due to the following error: 80040154 没有注册类 (Exception from HRESULT: 0x80040154 (REGDB_E 阅读全文

posted @ 2013-04-01 14:32 &大飞 阅读(2929) 评论(0) 推荐(0)

2013年3月31日

cocos2d-x开发或移植时需要注意的一些

摘要: 按照Cocos2d的编程风格,尽量少用构造函数,用init()进行初始化,构造函数可以适当作为变量的初始化,create的静态初始化函数需要重载,即重写create当需要派生一个新的类时,不能通过父类的create直接创建,具体的可以在debug时从类指针上看到实际类型并不相符dealloc函数在C++下是析构函数,需要负责安全release各种变量,即使用CC_SAFE_RELEASE来安全释放内存管理方式首先必须要注意的一点,在Object-C中对NULL可以进行任何操作而不会报错,而在C++中对NULL进行任何操作都会直接crash使用CC_SAFE_RELEASE来安全release一 阅读全文

posted @ 2013-03-31 11:21 &大飞 阅读(168) 评论(0) 推荐(0)

2013年1月10日

转VS2010解决方案转换到VS2008

摘要: 原文链接地址:http://www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008如果你使用VS2010的任何版本写代码,那么在VS2008中就不能打开VS2010的解决方案了,为此,通过以下三步就可以解决了一.对于工程名.sln;1.用你喜欢的编辑器打开sln文件,比如notepad++2.找到下面的字符串Microsoft Visual Studio Solution File, Format Version 11.00.# Visual Studio 2010.并且用下面的字串替换Microsoft Visu 阅读全文

posted @ 2013-01-10 15:26 &大飞 阅读(151) 评论(0) 推荐(0)

2012年12月25日

WINDOWS游戏编程大师技巧-常见编绎连接错误FAQ

摘要: 1.无法从“const char [10]”转换为“LPCWSTR”vs6,vs2005的版本问题解决方案1:winclass.lpszClassName= (LPCTSTR)WINDOW_CLASS_NAME;解决方案2:wndcls.lpszClassName = L"ShadowJack first window";2.error LNK2019: 无法解析的外部符号_DirectDrawCreateEx@16,该符号在函数 "int __cdeclGame_Init(void *,int)" (?Game_Init@@YAHPAXH@Z) 中被引 阅读全文

posted @ 2012-12-25 00:28 &大飞 阅读(618) 评论(0) 推荐(0)

VC 中与字符串相关的宏 _T、TEXT,_TEXT、L 的作用

摘要: 一、 在字符串前加一个L作用: 如 L"我的字符串" 表示将ANSI字符串转换成unicode的字符串,就是每个字符占用两个字节。 strlen("asd") = 3; strlen(L"asd") = 6; 二、 _T宏可以把一个引号引起来的字符串,根据你的环境设置,使得编译器会根据编译目标环境选择合适的(Unicode还是ANSI)字符处理方式 如果你定义了UNICODE,那么_T宏会把字符串前面加一个L。这时 _T("ABCD") 相当于 L"ABCD" ,这是宽字符串。 如果没有定义,那 阅读全文

posted @ 2012-12-25 00:28 &大飞 阅读(119) 评论(0) 推荐(0)

2012年12月24日

_CRT_SECURE_NO_WARNINGS宏-转

摘要: 正如大家所知,如果我们写出这样的代码:1int_tmain(intargc, _TCHAR*argv[])2{3 fopen("test.txt","r");4return0;5}在vs 2005,2008下,会收到如下警告:c:"documents and settings"administrator"桌面"test"test.cpp(9) : warning C4996: 'fopen': This function or variable may be unsafe. Conside 阅读全文

posted @ 2012-12-24 13:52 &大飞 阅读(356) 评论(0) 推荐(0)

导航