摘要:原地址:http://blog.segmentfault.com/hongliang/1190000000631630Cocos2d-x下Lua调用自定义C++类和函数的最佳实践关于cocos2d-x下Lua调用C++的文档看了不少,但没有一篇真正把这事给讲明白了,我自己也是个初学者,摸索了半天,总...
阅读全文
摘要:curl easy 的使用步骤curl_easy_init()curl_easy_setopt()curl_easy_perform()curl_easy_cleanup()------------------------------//http 返回数据回调static size_t OnWrit...
阅读全文
摘要:新建 一个项目 名字:testJin 包名:com.TanSon.org python命令:python create_project.py -project testJin -package com.TanSon.org -language cppeclipse 导入项目配置 。。。 略去,(可以...
阅读全文
摘要:转自:http://www.himigame.com/lua-game/1282.html上一篇中,向童鞋们介绍了如何自定义类binding到Lua中供给使用的教程,那么本篇将介绍利用OOP思想在在Lua中进行创建一个自定义类。 首先Himi来向大家讲解如何在Lua中不binding来自定义lua类,其实这种方式在Cocos2dx的Lua Samples已经为我们做好了例子,就看童鞋们是否认真阅读了。此示例路径在你解压cocos2dx引擎包下的cocos2d-2.1rc0-x-2.1.2/samples/Lua/TestLua 中的TouchesTest ,如下图: 在这个示例中Ball.l.
阅读全文
摘要:http://www.litefeel.com/lua-override-userdata/
阅读全文
摘要:1, int ref = luaL_ref(L, LUA_REGISTRYINDEX); //把栈顶的obj 存在lua的表里面,返回一个唯一的引用,(栈顶的obj被自动清除),,(这个引用作为回调函数的句柄)/////////////下面是调用2, lua_rawgeti(L, t, ref) //传入引用,把表里对应的obj 压入栈顶3 , lua_call(); 调用,
阅读全文
摘要:win7+cocos2d-x-2.1.4+vs2012环境太简单就不多说了,下面是eclipse环境一、准备1.eclipse+adt+sdk:adt-bundle-windows-x86_64-20130729.ziphttp://dl.google.com/android/adt/adt-bundle-windows-x86_64-20130729.zip2.ndk:android-ndk-r8e-windows-x86_64.ziphttp://dl.google.com/android/ndk/android-ndk-r8e-windows-x86_64.zip或android-ndk
阅读全文
摘要:原文:http://www.cnblogs.com/ccdev/archive/2012/12/29/2837754.html在上篇里,我们主要讨论了,这个系统怎样处理大数据的“读”操作,当然还有一些细节没有讲述。下篇,我们将主要讲述,“写”操作是如何被处理的。我们都知道,如果只有“读”,那几乎是不用做任何数据同步的,也不会有并发安全问题,之所以,会产生这样那样的问题,会导致缓存和数据库的数据不一致,其实根源就在于“写”操作的存在。下面,让我们看一看,当系统需要写一条数据的时候,又会发生怎样的事情? 同样,我们还是以friend list为例。现在,我登陆了这个网站,获取了friend l..
阅读全文
摘要:原文:http://www.cnblogs.com/ccdev/archive/2012/12/28/2836599.html2012年底,末日之后,看到大家都在写年末总结,我也忍不住想一试。工作已经3年半了,头一次写总结。虽然到现在仍是无名小码农一名,但工作这些年,技术着实有不少积累。成长最大的,当然就是这篇文章标题提到的——高性能分布式计算与存储系统的设计和研发过程,这也是我自2010年供职于国内最大的某著名网站之后,和这个系统一起成长,亲眼见证和伴随着它的发展,从一个婴儿一样的"Demo"程序,成长为现在可以处理千万级日PV的强大系统,直到2012年我离开。我也顺势积
阅读全文
摘要:原文:http://blog.sina.com.cn/s/blog_48d4cf2d0100nve9.html一直听说每连接开线程的服务器当连接多了以后,由于线程切换和线程竞争导致的开销将会导致每秒处理请求数快速下降。最近写了个每连接开线程的回显服务器想要验证一下这种说法。一开始以为会画出一张漂亮的图(像java nio vs tomcat那张图一样的)。结果却让我吃了一惊:连接数增加到了15000,服务器威猛依然,每秒处理请求数相比连接不多时没有明显下降( < 2%)。再次深感高性能这块不能拍脑袋想当然。之所以出现这样的结果。与测试程序很有关系。由于回显服务器线程间不需要访问共同的数据
阅读全文
摘要:前几天写了篇日志<<关于boost.asio的一点备忘>>,主要是基于其在linux平台下的实现写的,今天还是一篇备忘,根据boost.asio在win与非win下的实现来谈谈它的跨平台设计与实现.boost.asio根据系统平台提供的事件多路分发机制来实现proactor模式,实现的差异化主要体现在支持IOCP机制与支持其它分发机制,下面就基于boost.asio在win系统(支持IOCP)与linux系统(支持epoll)下的实现来谈谈它的跨平台设计,非win系统的差异化主要表现在对reactor(系统提供的IO事件多路分发机制,如epoll,kqueue等)的封装
阅读全文
摘要:这两天事情不多,简单看了下boost.asio的源码,因为asio采用proactor模式,而windows下的IOCP本身就是这个模式的体现,所以将精力集中在了asio在linux下的实现(asio在windows下采用了IOCP,linux下用epoll,还有其它的一些实现如kqueue,select等).在高性能服务器并发模型设计中,Reactor和Proactor是两个经常用到的设计模式,前者用于同步IO,后者用于异步IO,前者在IO操作就绪的情况下通知用户,用户再采取实际的IO操作,后者是在IO操作完成后通知用户,举个简单的例子,比如说你有一封信到了邮局,Reactor模式就是邮局的
阅读全文
摘要:boost::condition_variable 用法:当线程间的共享数据发生变化的时候,可以通过condition_variable来通知其他的线程。消费者wait 直到生产者通知其状态发生改变,Condition_variable是使用方法如下:·当持有锁之后,线程调用wait·wait解开持有的互斥锁(mutex),阻塞本线程,并将自己加入到唤醒队列中·当收到通知(notification),该线程从阻塞中恢复,并加入互斥锁队列(mutex queue)线程被唤醒之后继续持有锁运行。以下一个例子转自:http://www.justsoftwaresolut
阅读全文
摘要:for_each() 对某区间无素执行某种操作.void print(int &elem){ cout<<elem<<endl;}for_each(coll.begin(), coll.end(), print) ;回为元素以引用方式传递,可以改变区间内的元素,.for_each()还可以返回传递进去的函数对像的副本。transform()对某区间无素执行某种操作.操作返回被改动后的元素 可以将操作的结果放到指定的区间void fun( int elem){ retun elem*elem;}transform(coll.begin(), coll.end(),
阅读全文
摘要:由于历史原因,stl 搜寻算法命名很混乱。。
阅读全文