C++
文章平均质量分 62
ainn_pp
游戏程序设计.
展开
-
VS2005中派生模板类的BUG
一般来说犯错误的都是开发者.VS的错误还是蛮少的.额..除了预编译头有时候会错误要Clean一下.今天确实遇到了一个bug.查了半天.又写了好些测试代码.才把错误模型整理出来.发现是在存在虚函数表时对于父类模板类的偏移计算错误.这句话说的挺绕口.据说也和VS对代码限制原创 2011-10-11 18:12:44 · 871 阅读 · 0 评论 -
多线程或多进程使用sqlite的问题.
项目使用sqlite本地数据库作为一些列内容的配置文件.用法很简单.而且都是只读.版本是 3.5.6封装后使用了3年下来也没什么问题.不过这次压力测试的时候.Room承载一上2000.不一会就当了. 在房间服务器的应用中.设计时将每个房间设计为一个独立的RoomApp原创 2010-12-02 14:02:00 · 6018 阅读 · 0 评论 -
mfc中使用网络层遇到的问题
最近内网的PatchClient有时会出现与服务器断开连接的情况.看log是网络层的buf满了.Patch使用的机制是Client向Server请求文件数据.Server回发一段固定大小的数据给Client.Client接到这笔数据后再请求下一段.按照这个逻辑.只要ser原创 2010-12-06 14:48:00 · 783 阅读 · 0 评论 -
LuaTinker:清晰简单的lua的封装.及其中的陷阱
Lua有很多封装.其中的利弊已经有不少介绍.只是提一下luaplus.本来期望值蛮高的.但后来发现文档质量不高.sample编译不过去.不过调试功能做的比较强..最后选择了LuaTinker.一个韩国人写的.2个文件.5个sample.简单清晰.赞一个.~ 首先试验了几个基本功能.都没什么问题. 当时比较疑惑的几个问题是.在lua中可以使用指针么?可以使用c++中的数据原创 2008-08-06 00:35:00 · 5636 阅读 · 1 评论 -
xp或2003下无法运行win7所编译的ado程序.
年前想做个版本,结果遇上很诡异的问题.在内网跑的好好的程序拿到外网出现错误.日志显示 ado 抛出异常 "不支持此接口".一开始以为是IDC的服务器很久没更新,导致ODBC版本过低.后来通过update装上了所有的补丁包问题依旧.折腾了一天才发现win7的ODBC版本与2003不同.导致win7下编译的ado程序无法在xp或2003下运行.解决方案就是在XP或2003下重新原创 2012-01-21 11:32:28 · 2189 阅读 · 5 评论 -
标识机器唯一的方法讨论及得到硬盘序列号的方法.
一般来说标识机器的唯一ID会使用MAC地址.这个信息也很好取到.但考虑到目前的机器使用无线上网的很多,网卡的变动相对较为频繁.所以不太想用MAC地址作为标识.于是探索是否有其他唯一的标识可以使用.首先考虑到硬盘,因为如果系统是安装在硬盘上的,如果系统换了,那应该可以视为另外一台机器.那么硬盘中什么信息是唯一的呢.搜索到有人使用卷标.硬盘的卷标只有在格式化或分区的时候会被改变,而且重复的概率原创 2012-02-15 16:06:50 · 6936 阅读 · 3 评论 -
使用WINIO进行驱动层的键盘记录
突然对QQ的安全机制起了兴趣..想来利用检测键盘状态来做键盘记录应该很容易.安全软件也不能认为这种需求为非法.那QQ怎么防类似记录呢.做个实验.随便写个程序,每帧都去读取键盘状态.行不行? for(int i = 8; i <=255; i++) { if( GetAsyncKeyState(i) & 1 == 1 ) { cout << i原创 2013-05-29 17:32:04 · 3780 阅读 · 0 评论 -
QQ密码框防键盘记录的研究笔记
兴趣所致,做些学习笔记.QQ密码框从简单到复杂有好几套措施防止键盘记录.第一层,最简单的.设置一个定时器.大概0.5秒定时用keybd_event 发送虚拟键盘消息.混淆记录.这一层最容易实现也最容易破解.只需要在监听程序中HOOK WH_KEYBOARD_LL,在处理函数中检测flag是否有 LLKHF_INJECTED 标志位即可.在写监听程序的时候遇到原创 2013-06-06 19:17:41 · 3655 阅读 · 0 评论