挖井

类库大魔王的挖井日记

挖一口属于自己的井


Luabind还是有必要的

  写着写着,发现Luabind不是先前想的那样有了SWIG就可以抛弃了的,还是有用武之地的。
  主要体现在两个地方。
  一、从C++调用Lua函数。Luabind提供了两个方法,在Boost的协助下极其出色地分别实现了调用全局函数和其他可被作为函数调用的对象的调用。这两个方法都以C++模板实现了可变参数类型和可变参数个数的调用,而不是C库中printf使用的那种方法。这得益于强大的Booster::mpl。
  二、提供C++中自定义类型的高度灵活的部分封装。用SWIG通过分析C++声明一股脑儿全都封装了,当然可以通过预定义宏SWIG可标识不想被封装的部分,但这需要修改C++源代码,以致于破坏C++源代码的整体风格,而且灵活性明显不行。用Luabind可以随心所欲地把任意一个类的其中几个方法封装了,这个优点是我在看了Luabind中自带的几个example才想到的,比如它演示封装了boost::regex,boost::filesystem,如果想用SWIG,几乎不可能达到目的。

本文地址:

https://minidump.info/blog/2009/03/luabind-e8-bf-98-e6-98-af-e6-9c-89-e5-bf-85-e8-a6-81-e7-9a-84/

上一篇

研究了半天SMTP发送HTML

  主要的内容生成功能基本完成90%了,于是就研究一下怎么把这html内容通过SMTP发送出去。原来有一个从CodeProject上找的SMTP类,直接用WinSock写的,倒是也可以正常工作,接口也很简单,而且当时沾沾自喜经过自己修改,是可以支持中文的,其实是自己土了。现在只是想把这个类再修...…

Software 全文阅读
下一篇

bjam有点意思

  在编译Luabind成独立的库时,顺便学了一下bjam。bjam在某些场合下挺有用的,如果之前用的是make,再来用bjam,感觉就是用过汇编之后来用高级脚本语言。  折腾了一阵子后,我的感觉就是bjam几乎是完全给boost设计的。其中最突出的特点是,编译器无关。它在这方面做不了少工作,...…

Software 全文阅读