
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 · 885 阅读 · 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 · 1364 阅读 · 0 评论 -
查看静态库支持的平台
lipo -info libcodea.a原创 2014-11-24 13:06:41 · 1943 阅读 · 1 评论 -
关于 ruby_xmalloc ruby_xfree 等函数
ruby_xmalloc ruby_xfree偶然发现这几个函数, 主要作用是在ruby上声明内存, 而且效率非常的快....然后踩了一个坑. 当某个客户端的包在服务器累计超过貌似是4.5w * 20 左右个包就会出现内存申请失败!! 我一开始记得我全部是用的jemalloc.结果发现用的是ruby的堆...我就艹了. 第一步才知道有限制, 第二才发现没有用jemal原创 2014-08-26 16:51:35 · 810 阅读 · 0 评论 -
fsnet 0.0.1 !!!
https://github.com/frodosens/fsnetfsnet 是一个 使用C层做网络驱动.Ruby做具体逻辑处理.可支持分布式部署的一个开源网络游戏服务器.因为为了搭好基础环境.就使用了libevent做IO层..后面看看会不会自己重新写IOruby使用的是最新的2.1.2如果单节点.一个比较简单的版本比较 可以有5W/s原创 2014-06-12 12:14:18 · 942 阅读 · 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 · 1579 阅读 · 0 评论 -
redis C++ API
= =琢磨了一下 hiredis 感觉很赞。用C++封装了一下。原创 2014-05-08 13:13:42 · 5445 阅读 · 0 评论 -
ruby 作为嵌入脚本时使用的注意事项
最近一直在采坑...如果是作为嵌入式脚本使用ruby的话...一定会遇到这2个问题...gem安装的,无法在嵌入时使用..为啥.?因为你没require 'ruby gem'出现 找不到 Encoding::UTF_8 怎么办?因为你没require 'enc/encdb'好吧..继续等坑...OTZ原创 2014-06-10 18:01:04 · 1015 阅读 · 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 · 3070 阅读 · 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 · 2129 阅读 · 0 评论 -
C ruby 数据转换
int -> VALUE INT2NUM VALUE -> int FIX2INTchar* -> VALUE rb_str_new(char*, len);VALUE -> char* StringValueCString(value);转换前..先 用 TYPE(v) 做类型转换T_FIXNUM intT_原创 2014-05-23 22:58:05 · 748 阅读 · 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 · 3856 阅读 · 0 评论