starwing83 发表于 2012-02-11 22:09
很好,我就一起回了。这些的确没往这些方面想过。很好,不过貌似是C接口+C++ wrapper,只是写到了一个文件而已,是吧?其实如果要接口干净还可以C++ + C wrapper,实际上要接口干净C接口是少不掉的,当然自己能控制名字这点挺好的。
starwing83 发表于 2012-02-11 22:09
然后lua没有是因为它是动态语言……你懂的。闭包的确提供了访问控制哈,元表的确产生了不同行为哈,基于table的对象的确提供了virtual的能力哈,这个有啥好说的捏,最多就是gc惹的祸嘛,大家都不gc了,很多代码就不好写了= =有gc没析构,有析构没gc,你咋想?
starwing83 发表于 2012-02-11 22:09
大家都不gc了,很多代码就不好写了= =有gc没析构,有析构没gc,你咋想?
如果lua声明,离开作用域的变量立刻gc,是不是好一点?
或者添加一个with语句?
你觉得什么解决方案会比较好?
PS:关于异常时的资源释放,你误会lua了, 其实lua支持异常时强制回收所有资源的,只需要显式完全gc即可,这点其他动态语言没一个暴露接口的,tolua++生成的代码这么干了(error之前完全gc)
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |