摘要: 编译grpc时会遇到很多问题,耗时长且不一定能成功,其中墙和github下载慢的问题最是恼人。grpc master依赖https://boringssl.googlesource.com/boringssl,需要FQ,grpc tag v1.0.1的依赖项全在github上,不需要FQ。另外,我们可以直接下载打包好的代码,不需要使用git的蜗牛下载。 阅读全文
posted @ 2017-02-08 10:33 lontoken 阅读(3122) 评论(0) 推荐(0) 编辑
摘要: 使用Electron创建Mysql数据比对工具 项目由来 工作中的项目使用MySql,在学习系统的数据数量和测试服务时,经常需要去比对一个表两个时间点的数据变化。搜索相关工具不得,而之前又玩过Electron,一直没有找个机会练练手,因有此项目。项目源码已开源,地址:http://git.oschi 阅读全文
posted @ 2016-05-13 23:14 lontoken 阅读(3077) 评论(0) 推荐(0) 编辑
摘要: memcached安装和libmemcached的使用 环境和版本 操作系统:Ubuntu14.04 32bitlibevent版本: 2.0.21memdatach版本: v1.4.21 libevent安装 #wget http://github.com/downloads/libevent/l 阅读全文
posted @ 2014-11-29 12:03 lontoken 阅读(1292) 评论(1) 推荐(1) 编辑
摘要: lua的字节码 lua源码在执行前,会被编译为字节码,字节码能加快程序的加载,保存lua源码被意外的修复。lua的字节码只在具有相同的字长和字节顺序的机器上能够移植。luac编译器能将lua源码编译为字节码二进制文件,其命令如: luac a.lua luac默认的输出文件为luac.out,可以通 阅读全文
posted @ 2014-03-16 22:00 lontoken 阅读(10512) 评论(0) 推荐(1) 编辑
摘要: (转载自个人新博客:http://www.lontoken.com)A template class for binding C++ to Lua英文原文:A template class for binding C++ to Lua最近在研究C/C++和Lua的交互问题,顺便看了下luna,自己尝试着翻译了此文,以供分享,初始翻译,权当练习。摘要此文介绍了一种将C++类绑定到Lua的方法。Lua没有直接提供此方法,而是通过底层的C接口和扩展机制来实现。我所描述的方法使用了Lua的C 接口、C++模板和Lua的扩展机制,构建了一个小巧、简单且高效的提供类注册服务的静态模板类。这个方法对你的类只 阅读全文
posted @ 2014-01-06 23:52 lontoken 阅读(754) 评论(0) 推荐(0) 编辑
摘要: lua的栈lua的栈lua中有两种栈:数据栈和调用栈.栈的定义和结构lua中的数据可以分为两类:值类型和引用类型,值类型可以被任意复制,而引用类型共享一份数据,复制时只是复制其引用,并由GC负责维护其生命期.lua使用一个unine Value来保存数据.union Value { GCObject *gc; /* collectable objects */ void *p; /* light userdata */ int b; /* booleans */ lua_CFunction f; /* light... 阅读全文
posted @ 2013-12-24 12:53 lontoken 阅读(2541) 评论(0) 推荐(1) 编辑
摘要: 文本文件的编码识别文本文件的编码问题,困扰我很久,在跨平台、源程序中的中文字符、从文本文件中读取中文字符的时候,若对文件编码问题没有弄清楚,难免会走弯路。对此情况,我准备针对几个主题,记录下自己学习的心得,以备日后查阅和分享。认识文本文件文件分为两种类型:文本文件和二进制文件;文件文件:是以字符编码的方式进行保存的;每一行都以换行符结束(由于历史原因,各操作系统的换行符不一样,Windows的是"",即"\r\n",Unix/Linux的是"",即"\n",Mac的是"回车",即"\r 阅读全文
posted @ 2013-12-12 23:14 lontoken 阅读(4139) 评论(0) 推荐(0) 编辑
摘要: 编译器产生的输出文件的MD5值与生成代码的关系背景因发布给用户的产品需要升级,每次升级使用的是版本号加”增量更新“的方法,自动更新服务器保存当前版本号与所有文件的MD5值,用户本地保存本地的版本号。登录时,若用户本地的版本号与服务器上的版本号不一致,则根据嗠器上文件的MD5与本地所有文件计算的MD5值比较,若不同,则更新。但现在在Delphi6中,程序的代码没有作更新,前后再次产生的文件的MD5却不同。Delphi6将生成文件的当前时间戳添加到了输出文件中。从二进制进的角度来看,代码相同的程序,只是编译的时间不一样,产生的文件却是不同的。Delphi6的这种画蛇添足的做法,实在叫人费解。既然D 阅读全文
posted @ 2013-04-02 18:31 lontoken 阅读(852) 评论(0) 推荐(0) 编辑
摘要: 案例情形:在通过控件的构造函数Create(AOwner: TComponent)创建对象a时传入Application,之后又自作多情的主动调用FreeAndNil释放此对象a,在程序退出时问题就会来了,由于Application会主动释放自己的Components内的元素,而我们自己再次调用FreeAndNil时就会出现对象的多次释放,导致程序无法正常退出!!!反例代码://在Create时创建对象FFoolPan := TPanel.Create(Application); //在Destroy时释放资源//旁白:不要以为做了Assigned判断就万事大吉了,遇到”悬空指定”你会死得很难 阅读全文
posted @ 2012-09-24 02:01 lontoken 阅读(576) 评论(0) 推荐(0) 编辑