![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
会魔法的猫
这个作者很懒,什么都没留下…
展开
-
c 实现IO流
// // fs_stream.h // fsnet // // Created by Vincent on 14-5-22. // Copyright (c) 2014年 Vincent. All rights reserved. // #ifndef fsnet_fs_stream_h #define fsnet_fs_stream_h #include "fs_define.h"原创 2014-05-23 21:58:40 · 840 阅读 · 0 评论 -
C 调用 LUA时候如何push table self
只需lua_pushvalue(L, -2) 即可 -2 就是 相对table的位置 void FSLuaChannel::call_local_method( const FSMethod* method, FSParams* params ){ auto engine = cocos2d::LuaEngine::getInstance(); c原创 2015-05-22 11:12:36 · 1303 阅读 · 0 评论 -
查看静态库支持的平台
lipo -info libcodea.a原创 2014-11-24 13:06:41 · 1864 阅读 · 1 评论 -
关于 ruby_xmalloc ruby_xfree 等函数
ruby_xmalloc ruby_xfree 偶然发现这几个函数, 主要作用是在ruby上声明内存, 而且效率非常的快.... 然后踩了一个坑. 当某个客户端的包在服务器累计超过貌似是4.5w * 20 左右个包 就会出现内存申请失败!! 我 一开始记得我全部是用的jemalloc.结果发现用的是ruby的堆... 我就艹了. 第一步才知道有限制, 第二才发现没有用jemal原创 2014-08-26 16:51:35 · 773 阅读 · 0 评论 -
fsnet 0.0.1 !!!
https://github.com/frodosens/fsnet fsnet 是一个 使用C层做网络驱动. Ruby做具体逻辑处理. 可支持分布式部署的一个开源网络游戏服务器. 因为为了搭好基础环境. 就使用了libevent做IO层..后面看看会不会自己重新写IO ruby使用的是最新的2.1.2 如果单节点.一个比较简单的版本比较 可以有5W/s原创 2014-06-12 12:14:18 · 891 阅读 · 0 评论 -
编写ruby扩展库
# Loads mkmf which is used to make makefiles for Ruby extensions require 'mkmf' # Give it a name extension_name = 'fsnet' dirs = ["/usr/local/lib"] $libs += "-levent " $libs += "-levent_e原创 2014-07-23 18:07:18 · 1524 阅读 · 0 评论 -
redis C++ API
= =琢磨了一下 hiredis 感觉很赞。 用C++封装了一下。原创 2014-05-08 13:13:42 · 5390 阅读 · 0 评论 -
ruby 作为嵌入脚本时使用的注意事项
最近一直在采坑... 如果是作为嵌入式脚本使用ruby的话... 一定会遇到这2个问题... gem安装的,无法在嵌入时使用..为啥.? 因为你没require 'ruby gem' 出现 找不到 Encoding::UTF_8 怎么办? 因为你没require 'enc/encdb' 好吧..继续等坑...OTZ原创 2014-06-10 18:01:04 · 981 阅读 · 0 评论 -
关于 pthread_cond_wait 和 pthread_cond_signal , signal 无效的问题
最近遇到一个问题.就是 我在io线程里不断的把一个函数调用放到队列里 然后ruby线程就不断的从这个队列里取出函数之争并执行. 典型的 消费者模式. 我以前以为是这样... 这是work线程 pthread_mutex_lock(&mutex2) while(( invoke = get_invoke() ) != NULL){ do_invoke(invo原创 2014-05-27 00:30:24 · 2987 阅读 · 0 评论 -
SLG,菱形格子的算法 (非递归版本 .效率赞!
// // main.c // Paopao // // Created by Vincent on 14-6-8. // Copyright (c) 2014年 61games. All rights reserved. // #include #include #include #include #include #define geop(x, y) (x << 16 |原创 2014-06-08 04:43:53 · 2043 阅读 · 0 评论 -
C ruby 数据转换
int -> VALUE INT2NUM VALUE -> int FIX2INT char* -> VALUE rb_str_new(char*, len); VALUE -> char* StringValueCString(value); 转换前..先 用 TYPE(v) 做类型转换 T_FIXNUM int T_原创 2014-05-23 22:58:05 · 721 阅读 · 0 评论 -
LUA 调用 C 时候获取参数个数
在栈顶的就是参数个数 static int lua_call_server_method(lua_State* L) { int argc = lua_gettop(L); const char* method_name = luaL_checkstring(L, 1); for(int i = 2 ; i <= argc ; i+原创 2015-05-22 11:08:48 · 3707 阅读 · 0 评论