11 2012 档案

摘要:lua的os.date()在多线程下的问题我使用的lua版本是5.1.2,其他版本估计也有这个问题。lua的os.date()函数在多线程下存在问题,即使是每个线程都是独立的Lua_State.原因:lua的loslib.c中,对os.date函数的实现采用了localtime和gmtime这两个函数,而这两个函数都是非线程安全的,这意味着在多线程下使用这两个函数有可能导致取时间错误.所以无论如何,在多线程下调用os.date()都含有安全隐患.例如,在线程A中有这样的代码:local t = os.time() -24*3600local st1 = os.date("%Y%m%d 阅读全文
posted @ 2012-11-29 17:13 绿色冰点 阅读(3414) 评论(0) 推荐(2) 编辑
摘要:目前,我们常用的配置文件格式有XML和ini, XML层次分明,但其缺点就是写起来太繁杂,对一些关键字如<>之类的处理比较特殊。而ini呢,配置不够灵活,只有简单的段-键-值模式,对于一些多层结构的配置,或者一些列表类型的配置,就显得力不从心了,往往需要编码人员自己分割字符串。 Lua脚本非常简洁清 阅读全文
posted @ 2012-11-21 12:00 绿色冰点 阅读(10715) 评论(7) 推荐(4) 编辑
摘要:用Inno Setup实现静默安装,去除所有安装提示,安装完毕直接运行程序。做游戏的时候,我们往往会提供一个微端,微端的运行方式也往往要求非常简便,安装包一般需要满足这些要求:一、所有安装全部由程序自动完成,自动创建快捷方式和程序组的菜单,不需要用户干预。二、安装完毕自动启动程序。Inno Setup可以做到静默安装的,只不过默认情况下是通过用户提示一步一步安装。原文链接:Inno Setup 静默安装 去除所有安装提示 阅读全文
posted @ 2012-11-09 12:37 绿色冰点 阅读(2858) 评论(0) 推荐(0) 编辑
摘要:通过SDK方式或者Atl方式添加的IE控件(WebBrowser控件)无法响应键盘的tab消息,这在输入表单的时候非常不方便,每次都需要鼠标点击输入框,我在网上看过一些文章,据说可以通过IE控件的IDocHostShowUI接口和IDocHostUIHandler2接口获取响应的消息,不过我试过这些方法,没成功~_~.于是采用了一种比较偏门的方法:挂钩键盘消息。首先,设置键盘消息处理函数,该函数的功能是获取键盘的输入键信息,如果该键是tab键,并且是按下状态,则将该消息发送给IE控件的快捷键处理函数进行快捷键处理,同样的,为了能通过回车键提交html表单,判断输入键是回车键,并且是按键释放时, 阅读全文
posted @ 2012-11-01 18:41 绿色冰点 阅读(4365) 评论(1) 推荐(1) 编辑
摘要:如何用RAR制作安装程序winrar是一个著名的文件压缩软件,它功能强大、操作方便,较winzip有过之而无不及。与winzip相比,winrar有一个比较方便的地方就是它不用压缩成zip或rar文件就可以直接创建自解压文件(即exe格式文件)。下面我就以最常用的winamp为例,简单地介绍一下其“安装程序”的制作方法。 打开所需要安装的文件夹,按ctrl+a全选该文件夹中的所有文件,单击右键选择“winrar”下的“添加到档案文件...”,随后打开一个参数设置框,在“常规”选项卡中勾选复选框“创建自释放格式档案文件”,填入你想要生成的可执行文件的文件名,压缩方式选择“最好”; 切换至“高.. 阅读全文
posted @ 2012-11-01 12:24 绿色冰点 阅读(2015) 评论(0) 推荐(0) 编辑
摘要:最近碰到几次如下的问题:Error 1 error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in bvpmeasure.obj根源还是我使用静态链接和Release版本编译程序。以前总是很笨的使用Debug版,毕竟对于初学者方便调试;而现在是希望生成直接可以运行的exe。其实对于Runtime Library 的几种选择:Multi-threaded (/MT) Multi-threaded Debu 阅读全文
posted @ 2012-11-01 11:04 绿色冰点 阅读(7018) 评论(0) 推荐(1) 编辑