• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

舞者

罗帏舒卷,似有人开。明月直人,无心可猜
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

2014年1月29日

[zz]boost::function and bind需注意的事项

摘要: 服务器代码依赖了boost的function和bind,用来做回调,异步调用时会出现这种down机.闲话少说上代码:void fn(std::string str);char *temp_str = new char[24];strcpy(temp_str,"1212");boost::function f = boost::bind(fn,temp_str);f();这边的f函数对象里面保存了一个temp_str的指针,如果是同步调用,会有临时的std::string变量产生,产生拷贝一次temp_str,之后就不在引用temp_str,所以不会出现任何问题;可是如果是异 阅读全文

posted @ 2014-01-29 16:56 wishing 阅读(178) 评论(0) 推荐(0)

[zz]lua绑定中(tolua++)需注意的事项

摘要: 如果你暴露一个复杂对象给Lua,实现类似于OO编程的话,那么也要把析构函数暴露给Lua.否则的话,lua gc的时候,回收垃圾对象,没有找到回收函数,就直接free掉了,这在C++中,是相当致命的.tolua++中的tolua_cclass函数,用来注册lua对象,TOLUA_API void tolua_cclass (lua_State* L, const char* lname, const char* name, const char* base, lua_CFunction col)同时会把最后的那个参数col,注册到lua对象的元表里面:static void push_colle 阅读全文

posted @ 2014-01-29 16:53 wishing 阅读(543) 评论(0) 推荐(0)

 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3