fflua更新

简介:

fflua 发布了有段时间了,很多网友都用了,并且提供了一些很好的反馈。其中一个就是c++接口注册到lua中时,对引用的支持。这样使用起来更加方便。

原有方式:

fflua 中注册c++的类用如下方式:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
class   
{  
public:  
    base_t():v(789){}  
    void dump()  
    {  
        printf("in %s a:%dn", __FUNCTION__, v);  
    }  
    int v;  
};  
  
    fflua_register_t<base_t, ctor()>(ls, "base_t")  //! 注册构造函数  
                    .def(&base_t::dump, "dump")     //! 注册基类的函数  
                    .def(&base_t::v, "v");          //! 注册基类的属性  

—|—

当c++类注册成功,后lua代码中可以操作类对象的指针,并且可以作为参数传递给c++的接口:

void dumy_base(base_t* p)
{
    printf("in %s begin ------------n", __FUNCTION__);
}
fflua_register_t<>(ls).def(&dumy, "dumy");  //! 注册静态函数
//有网友跟我反映,原来的接口很多都是使用引用作为参数,为了接收lua传过来的参数,还得需要重新写一个函数,比较麻烦,于是fflua增加了对引用的支持:

void dumy_base(base_t& p)
{
    printf("in %s begin ------------n", __FUNCTION__);
}
fflua_register_t<>(ls).def(&dumy, "dumy"); //! 注册静态函数

总结:

最新代码:https://github.com/fanchy/fflua

糖果

糖果
LUA教程

如果不小心安装错 SQL Server 为 Evaluation 的版本,要小心当超过 180 天之后,系统就会无法正常使用了 这几天遇到一个蛮特别的案例,原本收到的问题是 “维护计划” 忽然无法使用,即便是里面没有任何的Task,都无法顺利地执行。但从对方所提供的错误消...… Continue reading

PLUM NIZ静电容键盘怎么样?

Published on September 25, 2020

程序员如何选择合适的机械键盘

Published on September 18, 2020