编程技巧
文章平均质量分 85
帘卷西风
对技术执着有代码洁癖希望和志同道合的人一起互相学习分享
展开
-
S_OK,S_FALSE,E_FAIL
今天在调试一个ICOP的操作的时候,发现连接被动关闭的时候老是会在一处断言处失败,跟了很久终于发现了问题。在此记录一下:断言报错的代码如下:HRESULT CIoCPWorker::UnregIoTask(HRESULT hIokey){ ENTER_CALL("CIoCPWorker_UnregIoTask"); ASSERT_(SUCCEEDED(hIokey)); _原创 2013-08-24 09:36:04 · 4805 阅读 · 1 评论 -
cocos2dx用checkbox实现单选框和button实现table按钮
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) cocos2dx有checkbox和button,但是checkbox是个复选框,也没有table按钮,本文主要是利用这两个控件来实现单选框和table按钮的功能。主要思路就是,通过响应checkbox和button的事件,来设置和他一组的其他控件的状态来达到我们需要的效果。 我的工作环境时cocos2d原创 2015-04-03 12:05:13 · 7293 阅读 · 0 评论 -
关于cocos2dx3.2返回键问题以及ansi转utf8的问题
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 最近在学习的过程中重新整理了一下代码,顺便把cocos2dx从3.0升到了3.2。这里记录一下升级过程中的问题。之所以只升到3.2是因为后面的版本使用了lua5.2,而我还是更喜欢用5.1,而且能继续使用luajit,另外一个原因是因为cocosstudio,3.2后面的版本就导出成csd格式了,我原创 2015-03-21 19:07:20 · 2351 阅读 · 0 评论 -
关于lua扩展库lpack的使用指南
最近在研究luasocket,准备用全部用lua的扩展库来实现一套轻量级框架,用来做一些工具、简单的游戏服务器,以及作为网络库用在cocos2dx中。完善的网络库必然会遇到粘包、半包的问题,luasocket也不例外,由于网络部分在lua,协议的制定和buff的解析都没有合适的方案,又不想在C++中来封装接口,后面在网上查了一些资料,发现lua也有一个二进制打包的扩展库——lpack,了解之后发现原创 2015-03-17 11:46:46 · 12859 阅读 · 2 评论 -
关于luasocket的编译和部署
lua语言是一门轻量级、可扩展、使用方便的脚本语言,近年来在很多领域得到了广泛的使用,特别是在游戏领域,很多服务器和客户端引擎都选择使用lua来做扩展。同时lua自出生以来受到很多开发者的青睐,并为之开发了很多扩展库,例如lfs、luasql、redis-lua、luasocket、luajson等都得到了广泛的使用。其中luasocket主要是提供网络方面的扩展,提供了包括tcp、u原创 2015-03-16 14:39:46 · 7337 阅读 · 0 评论 -
关于linux进程间的close-on-exec机制
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 前几天写了一篇博客,讲述了端口占用情况的查看和解决。 关于linux系统端口查看和占用的解决方案 大部分这种问题都能够解决,在文章的最后,提到了一种特殊情况,就是父子进程中的端口占用情况。父进程监听一个端口后,fork出一个子进程,然后kill掉父进程,再重启父进程,这个时候提示端口占用,用netstat原创 2014-12-02 16:42:41 · 13317 阅读 · 0 评论 -
关于mysql常用时间函数
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 最近一直在做游戏后台工具的一些关于数据统计的工作,对于mysql的时间函数用的比较多,但是用过了就忘记了,又容易混淆,所以在此记录一下使用过的函数,以后逐步补全。 1、now(),返回当前的时间格式。 > select NOW(); > '2014-11-24 18:38:17' 2、CURDA原创 2014-11-24 18:56:35 · 2151 阅读 · 0 评论 -
关于mysql存储过程创建动态表名及参数处理
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 最近游戏开始第二次内测,开始处理操作日志,最开始把日志放到同一个表里面,发现一天时间,平均100玩家在线,操作记录就超过13万条,决定拆表,按照日期来保存日志,每天的日志存到一个表里面,然后定期把老的数据导出来备份后删掉。 具体思路是写日志的时候,根据当前的时间决定插入到当天的表里面,如表不存在则创建一原创 2014-11-16 20:36:00 · 11179 阅读 · 2 评论 -
mysql 大小写敏感的一个解决方案
今天,有同事告诉我,我们游戏登陆的时候,账号和密码没有区分大小写,后来又发现创建账号和角色也没有区分大小写。思考登陆流程之后,应该是Mysql没有区分大小写敏感的问题。 在网上查了一下资料,Mysql支持大小写敏感的解决方案。发现了几种方案。 第一、修改数据库的设置,让Mysql支持大小写敏感,这个方案太激进了,数据库数据太多,这样改保不准会出什么问题。 第二、原创 2014-01-07 11:07:57 · 3211 阅读 · 0 评论 -
VS2010/VS2012 设置全局头文件和库路径
在VS2010之前,设置项目的全局头文件和库路径是非常方便的,直接选择菜单Tools->Options->Projects and Solutions->VC++ Directories,然后在includes和libs后面添加指定的路径即可。 在VS2010发布之后,上面这个方法已经失效了,设置的方法改了,作为一个从VC6.0、VS2003、VS2005、VS2008一路走过来原创 2013-09-04 23:50:04 · 25025 阅读 · 4 评论 -
翻转队列的实现
在多线程中,经常会出现这样一种模式,A线程向队列L中push元素,B线程从队列L中pop元素,为了线程安全,必须在A push的时候加锁,然后在B pop的时候也加锁,这是一个典型的生产者消费者模式,这样显然会降低程序的效率。那么怎样来优化这种情景呢? 我们可以使用翻转队列(又称交换队列)来提交这个模型的效率,设计思想是使用2个队列L1,L2,A还是继续向L1中push元素,但是原创 2013-09-09 16:20:26 · 4701 阅读 · 0 评论 -
关于SQL中Union和Join的用法
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 一直以来,对于数据库SQL方面都是半吊子水平,能写一些基本的增删改查的语句,大部分时间都是用下Where,偶尔用用Order By、Limit,Like什么的。连表查询也是一些很简单的使用。至于那些高级用法,都还给老师了。最近接腾讯的IDIP的SDK,需要查询一些游戏数据,发现自己的SQL水平不够用,温原创 2016-07-29 16:10:26 · 40273 阅读 · 2 评论