摘要: 本文转载自:http://www.cnblogs.com/hmxp8/archive/2011/11/23/2259777.html现在,越来越多的C++服务器和客户端融入了脚本的支持,尤其在网游领域,脚本语言已经渗透到了方方面面,比如你可以在你的客户端增加一个脚本,这个脚本将会帮你在界面上显示新的数据,亦或帮你完成某些任务,亦或帮你查看别的玩家或者NPC的状态。。。如此等等。但是我觉得,其实脚本语言与C++的结合,远远比你在游戏中看到的特效要来的迅猛。它可以运用到方方面面的领域,比如你最常见的应用领域。比如,你 可以用文本编辑器,写一个脚本语言,然后用你的程序加载一下,就会产生出很绚丽的界面 阅读全文
posted @ 2013-08-28 11:26 城市*斗士(技术) 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 本文转载自:http://www.cppblog.com/lxyfirst/archive/2008/10/29/65447.htmllua作为小巧精悍的脚本语言,易于嵌入c/c++中 , 广泛应用于游戏AI ,实际上在任何经常变化的逻辑上都可以使用lua实现,配合c/c++实现的底层接口服务,能够大大降低系统的维护成本。下面对lua和c/c++的交互调用做一个实例分析:lua提供了API用于在c/c++中构造lua的运行环境,相关接口如下://创建lua运行上下文lua_State* luaL_newstate(void) ;//加载lua脚本文件int luaL_loadfile(lua_ 阅读全文
posted @ 2013-08-28 10:03 城市*斗士(技术) 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 课程 斯坦福大学公开课:人与计算机的互动得到需求的方法:1.真实需求=接近用户+监视用户+记录用户行为+分析数据+抽象分类。(引申:终于知道为什么很多公司喜欢做免费产品,因为他可以得到用户的行为数据) 阅读全文
posted @ 2013-07-17 09:00 城市*斗士(技术) 阅读(141) 评论(0) 推荐(0) 编辑
摘要: TinyXMLFor Lua 5.0:From: Robert NollJust a plain "Parse File to lua array" function in c++, using the [TinyXML] (2.4.3) lib.// headerclass lua_State; /// register parser functions to luavoid RegisterLuaXML (lua_State *L);// sourcefile#include "tinyxml.h"extern "C" { #in 阅读全文
posted @ 2013-05-21 10:13 城市*斗士(技术) 阅读(1027) 评论(0) 推荐(0) 编辑
摘要: 1. static ScriptingCore *getInstance() { static ScriptingCore* pInstance = NULL; if (pInstance == NULL) { pInstance = new ScriptingCore(); } return pInstance; };真正做到只能调用getInstance访问数据。2.template<typename T>class Singleton{ static T* ms_singleton;public: Singleton() { ENSURE( !ms_singleton ); 阅读全文
posted @ 2013-05-12 13:03 城市*斗士(技术) 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 最近做的项目中,有个特殊的情景:手机开机后,程序A是必须启动的,而程序B是我们想要启动的,但B的可执行文件可能会被使用任何方式修改,所以必须在A中确保B可执行文件是正确的。思路:在编译时,对已经生成的B进行md5sum加密,生成一个CC.h文件。在随后编译A时,在A中包含CC.h文件。编译完成后,A执行时,动态调用shell命令的md5对B文件进行加密,取得的字符串与CC.h中保留的字符串进行对比,如果一样,则执行A的后续流程;如果不相同,则停止A的执行。实现:1.Android.mk中脚本:$(shell ($(LOCAL_PATH)/md5_shell.sh $(LOCAL_PATH) $ 阅读全文
posted @ 2013-02-01 10:53 城市*斗士(技术) 阅读(2477) 评论(0) 推荐(0) 编辑
摘要: 开发中用到了sqlite做数据记录,可能后续还需要做sqlite的加密,这里记录下在开发中用到的sqlite经验。sqlite3_exec 的callback函数这个函数将来会被废弃,但目前找到的很多例子,依然使用这个函数。使用这个函数继续开发,其中的callback的实现有一些需要注意的地方。callback函数的返回值需要特别主意,当返回值为0时,sqlite3_exec才会继续执行查询指令,否则在获得第一条数据后停止执行查询语句。select count(*) from sqlite_master where type='table' and name='syst 阅读全文
posted @ 2013-01-29 10:37 城市*斗士(技术) 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 需要用到native程序上网接收文件到本地,需要的协议为http。由于android本身自带的chrome太过复杂,调用起来也不方便。在网上搜索过后,移植了libhttp到本地。比较简单易用,但程序是否能很好的支持多线程,这个还需要继续了解。一开始参考网上的代码写了一个,但总是发现文件有错乱。在仔细debug后,发现问题出在使用同步和异步获取文件的问题上。在开发前,并没有好好的去区分异步和同步,导致挖了个不小的坑。一般在do{//写文件}while(1)中,一般选择使用同步的方式;如果是set(callback)的方式,这时可以使用异步的方式。如果是异步的方式,一般涉及到对接收包的排序问题。异 阅读全文
posted @ 2013-01-28 22:43 城市*斗士(技术) 阅读(4381) 评论(2) 推荐(0) 编辑
摘要: 最近在使用C+SHELL混合编程,需要频繁调用popen函数执行shell命令。一般在命令端口下,输入shell命令后,屏幕会刷出命令的执行结果,我们可以查看相关的信息。可以把屏幕上输出的信息,先放到文件中,然后我们就可以通过分析文件信息,获得我们需要的“过程控制”信息,即我们需要的参数。一开始对各色的信息反馈,觉得文件分析无法下手。自己写了一部分分析代码,但感觉都不好用。在深究和多次搜索后,锁定fgets这个函数。从百度百科我们可以知道,这个函数是从文件中读取“一行”信息,然后返回。这里的“一行”信息很重要,和“\r\n”相辅助,我们可以做到很多事情,特别是shell命令的返回结果,很多都可 阅读全文
posted @ 2013-01-28 22:36 城市*斗士(技术) 阅读(253) 评论(0) 推荐(0) 编辑