re: 使用RCU技术实现读写线程无锁 Kevin Lynx 2015-04-22 18:29
@春秋十二月
我们的一个服务有1W QPS,数据变更时latency会几十倍波动,用了这个后latency再也不波动了
re: 基于内存查看STL常用容器内容 Kevin Lynx 2014-12-07 18:27
@xxoo
"即,string内有一个指针,指向实际的字符串位置,这个位置前面有一个_Rep结构,其内保存了字符串的长度、可用内存以及引用计数。"
re: 淘宝分布式配置管理服务Diamond Kevin Lynx 2014-10-14 13:23
@zuhd
diamond本身作为服务器不会太多的。
re: C/C++中手动获取调用堆栈 Kevin Lynx 2014-10-02 20:13
re: Muduo源码阅读 Kevin Lynx 2014-05-05 19:38
@Enic
就vim,tag都没用
re: 休闲手游服务器集群扩展思考 Kevin Lynx 2013-10-07 21:40
期待发出更多的经验。
re: node.js手游服务器调研 Kevin Lynx 2013-10-07 21:38
我记得node.js有个包装了websocket的库(不支持websocket的会有模拟)
ps,
http://socket.io/ socket.io
re: 使用Lisp搭建独立博客 Kevin Lynx 2013-07-15 10:02
@bb_cn@163.com
貌似客服还是很速度的啊。。。穷,没有服务器
re: 使用Lisp搭建独立博客 Kevin Lynx 2013-07-09 13:27
@bb_cn@163.com
实在不会提交个ticket给客服。我没有续费,现在服务器停了
re: 使用Lisp搭建独立博客 Kevin Lynx 2013-07-08 11:28
@bb_cn@163.com
网页上进管理系统,就可以看到装什么系统
@春秋十二月
cppblog抽风了,博客后台有文件列表,点过去没有。
re: 传递Lua函数到C/C++中 Kevin Lynx 2013-04-24 20:00
@fy
谢谢有价值的回复。
距离这篇博客的写作时间太久了,我只能简单说明下。实际上我们项目中最后使用的方式是@thelONE在评论中提到的方法。即,在lua中直接传递函数对象(全局函数、局部函数、匿名函数),C/C++中先通过luaL_ref将这个函数对象建立索引并保存进注册表,在luaL_unref之前,这个函数对象由于存在“引用”所以不会被垃圾回收。那么,程序里就可以保存luaL_ref这个索引值。当要调用这个函数时,就根据该索引从注册表中取出(大概是lua_gettable)。实际操作你可以自己查查。这种方式感觉上效率应该会高不少,对于脚本方的使用也更自由。但是有个严重的问题,就是当我们进行效率检查时,定位脚本不太容易,因为C/C++这边没有有效的方式去标识一个lua函数对象(当然后面还是使用了些其他方法,例如使用debug库获得函数对象的位置信息)。
re: C++陷阱:virtual析构函数 Kevin Lynx 2012-09-14 09:02
@test
继承不一定会使用到多态
re: 像写函数式语言代码一样写C++ Kevin Lynx 2012-08-02 09:31
@fzy
thanks,眼神真好!
re: 终于点了ASP.NET MVC3的技能树了 Kevin Lynx 2012-07-10 13:40
re: 使用Github Page来写博客 Kevin Lynx 2012-05-03 15:35
@路过
这尼玛都知道。。。你谁啊
re: 写了个简单的网站,codertrace.com Kevin Lynx 2012-03-31 10:04
@haha
偶尔域名会得不到解析貌似,godaddy的域名服务器会偶尔被墙
re: 写了个简单的网站,codertrace.com Kevin Lynx 2012-02-25 17:53
@mhsy2003
1. thanks
2. google code是非常想支持的,在没有RSS的情况下,也希望可以通过google API之类去获取
3. 显示自己的动态我会尽快加上。
re: 写了个简单的网站,codertrace.com Kevin Lynx 2012-02-24 14:57
@布拉德比特
你输入的地址是啥?
ps,你的博客地址可以获取啊:http://www.bradbit.com/blog/
re: 静态库中全局变量的初始化问题 Kevin Lynx 2011-11-07 09:46
@溪流
解决办法就是换成常规方法:显示初始化。
re: 一个简单的截屏工具的实现。 Kevin Lynx 2011-10-08 17:57
不知道可不可以直接绘制在桌面DC上,而不用创建一个桌面那么大的对话框?
re: 实现一种解释性脚本语言(二) Kevin Lynx 2011-07-22 09:05
@thircese
大概是因为在全局范围内也能写下a = func()这样的语句。分号虽然能作为区分,但在很简单的语法分析算法中,是希望由最开头的token来确定后面跟的是什么样的语法。在具体实现时:
if (tok == TK_FUNCTION) 就可以简单地知道是函数定义,而不是在扫描完函数名、参数列表、括号后发现还有分号,才能确定是函数调用,这多少会加大实现的复杂度
re: 传递Lua函数到C/C++中 Kevin Lynx 2011-05-08 19:36
@thelONE
有没有做过这方面的测试?
re: MMO游戏对象属性设计 Kevin Lynx 2011-05-03 19:37
@杨粼波
这倒提醒我了。还真是不方便编辑。
re: MMO游戏对象属性设计 Kevin Lynx 2011-05-03 18:05
@饭中淹
我们这回策划将编写大量脚本。瞬间在策划组掀起了学习Lua的热潮。整体架子的发展路线,和你说的差不多。程序这边仅提供底层功能实现。
re: MMO游戏对象属性设计 Kevin Lynx 2011-05-03 16:06
@饭中淹
话说你把你们的服务器整成全部配置驱动的;而我们在向全部脚本驱动靠近。
re: MMO游戏对象属性设计 Kevin Lynx 2011-05-03 13:57
@lin_style
复杂性和可维护性不仅体现在本项目,一般一个团队的下个项目就是在上个项目的基础上改。所以希望把这些游戏相关的东西尽量独立出来。理想情况下是到了下个项目可以直接通过移除一部分模块添加一部分模块即可。
当然,如你所说,确实存在度的把握问题。我现在是打算把基础属性(例如坐标)写死,或者通过本文的机制在程序里添加;其他属性(主要是战斗属性、什么中毒抗性啊、暴击伤害比率啊)放在脚本或配置里扩展。
但是如果是做引擎,这些包装则是必须的了。
ps. 因为在团队里某部分代码可能会在时间线上由不同的人修改,尽早地提出一种明显的规则,可以约束后面的人不至于随意而为。如果一开始就在Player类里塞功能,早期可能没问题,不过随着项目进展,后面的人极有可能模仿前人的做法,最终就会导致不断地在Player里加功能代码。膨胀由此而来。
re: MMO游戏对象属性设计 Kevin Lynx 2011-05-03 12:11
@饭中淹
Linux下的chrome看没有什么骷髅头啊。。- -|
re: MMO游戏对象属性设计 Kevin Lynx 2011-05-03 12:03
@lin_style
基本上是。虽然逻辑不一定复杂,可能仅仅是大量功能的堆积。但其维护性肯定不好。回忆一下当你刚接手熟悉一个项目代码时,看到一个巨类时的感觉。
re: MMO游戏对象属性设计 Kevin Lynx 2011-05-02 20:36
@so
加了个“继续阅读”指向我那个独立博客。- -| 你都要在这里留言。
re: 多重继承和void*的糗事 Kevin Lynx 2011-05-01 18:43
@lin_style
没完全懂你意思。是讨论使用方法?还是讨论底层实现?
re: 多重继承和void*的糗事 Kevin Lynx 2011-05-01 17:34
@dutor
正解。robj = (Bottom*) vobj;会做偏移。如果Bottom单继承自Right,会出什么诡异问题?
@lin_style
如果这样做,就等同于用汇编去操作vptr。
re: 关于饭同学的【简单的字符串模版匹配】 Kevin Lynx 2011-04-29 19:51
我是过来当和事佬的。饭那篇帖子后的留言我没来得及看到。饭叔叔我N多年以前就算认识。vczh算是CPPBLOG老面孔。我觉得这完全是个误会。彼此之间对对方意思的完全误解。vczh文章中的态度也算中肯。我觉得大家完全可以熄火和解。倒是vczh和饭的文章后的马甲留言让人生厌,完全的谩骂。
re: 关于饭同学的【简单的字符串模版匹配】 Kevin Lynx 2011-04-29 19:51
@饭中淹傻逼
这个马甲太有喜感了。
re: 【简单的字符串模版匹配】 Kevin Lynx 2011-04-29 19:51
@饭中淹
不要跟连名字都不敢留的人一般见识。
re: 博客迁移 Kevin Lynx 2011-04-25 15:33
@杨粼波
瞎折腾有时候是挺累。
re: 传递Lua函数到C/C++中 Kevin Lynx 2011-04-25 13:19
@oo
这句话是欠妥,3Q。不过,因为在c/c++里没有映射Lua函数的类型,所以没有办法把传入的print取出来。这无法满足回调的需求。
re: 博客迁移 Kevin Lynx 2011-04-25 10:51
@杨粼波
业余爱好:D Lisp很酷
re: 博客迁移 Kevin Lynx 2011-04-24 22:17
@溪流
都是老面孔了 :D
re: 关于 warning C4715问题。 Kevin Lynx 2011-04-10 19:25
@expter
我指的是你文章里的test没有static Obj obj这句。
re: 关于 warning C4715问题。 Kevin Lynx 2011-04-09 13:33
最后一个例子代码有点问题吧?可以让编译器将部分警告视为错误。
00411405 add esp,4 ;Call test 函数时将压入栈数据
准确的说这条语句是恢复堆栈,因为之前的push 1。默认的cdecl调用约定是调用者平衡堆栈。
win32汇编里约定eax作为返回值寄存器。
re: 编译器上面时候为我们生成默认构造函数?(C++) Kevin Lynx 2011-04-08 10:46
@笨笨
不是我总结的,貌似是<Inside C++ object model>里有这么一句话。"when it's necessary"
re: 编译器上面时候为我们生成默认构造函数?(C++) Kevin Lynx 2011-04-08 10:10
基本上,就是“当需要的时候”,就会被生成。
re: 被delete难倒了 Kevin Lynx 2011-03-30 17:50
@dizhu
问题确实可能出在其他地方。
re: Lisp一瞥:增强型变量Symbol[未登录] kevin lynx 2011-03-23 09:44
@陈梓瀚(vczh)
- -| 我用工具自动生成的。。。多谢提醒。
re: 如何书写权威的程序库头文件 Kevin Lynx 2011-03-17 18:11
- -| 别人那样写是有原因的。尤其是跨平台代码(导致各种宏)、开源代码(导致各种版权注释)、避免名字冲突的库代码(导致符号前缀)。。。
re: 学生时代做的东西-留个纪念 Kevin Lynx 2011-03-17 10:58
@求帮助~
看你学的是哪门脚本语言。一般较为流行的脚本语言都有大量的文档、教程、书、库、开源代码,例子怎么会少?除非你用的是百度,连语言的官方网站都没找到。
re: 关于内存分配优化的一些讨论 Kevin Lynx 2011-03-15 09:30
@月下圆舞曲
貌似vs默认带的STL实现是不带内存池实现的,它的allocator就是个malloc的包装。可以试着把SGI里的那个allocator拿出来,这个allocator算是比较高效的小块内存池。鉴于STL本身在构造容器时就支持自定义的allocator,所以要适配进vs默认的STL应该不困难。
re: 用lisp开发博客客户端 Kevin Lynx 2011-03-14 13:18
@Louis
阅读Lisp代码主要是通过代码缩进来识别语句关系,如果是通过括号那根本没法阅读。在RECL下(也就是交互模式下)输入语句我喜欢一行输下去,所以那个输入环境能有括号匹配(例如CLISP输入")"时就会做点提示)就是个不错的功能。SBCL默认没有。
re: 如何写出高质量的函数[未登录] kevin lynx 2011-03-10 11:11
全部同意。尤在函数长度限制和功能单一方面,是应该大大注意的。