2010-05-30 54 views
0

我正在为其他语言编写C/C++扩展模块,并且正在使用SWIG生成绑定。SWIG接口文件问题

我有两个问题

  1. 我可以在接口文件如的声明部分超过1个文件:

    /*声明暴露包装:*/

    > %{ 
    > #define SWIG_FILE_WITH_INIT 
    > #include "a.h" 
    > #include "b.h" 
    > #include "c.h" %} 
    
  2. 到目前为止我看到的所有例子中,在头包含声明之后(如上所示),然后再声明头中声明的函数在接口文件中。这是否真的有必要,因为这意味着需要维护函数声明的两个副本。

注:我能够理解,一些函数/方法的声明,可能需要“装饰”与“NEWOBJECT”声明,使这些显然需要在接口文件,以避免内存泄漏 - 然而, ,我会尽可能只包含头文件,然后只需要用'newobject'声明的函数/方法的声明就足够了 - 这是推荐的做事方式吗?

回答

1
  1. 是(见http://www.swig.org/Doc1.1/HTML/Library.html
  2. 否(见http://www.swig.org/tutorial.html;寻找SWIG for the truly lazy
+0

对于第二个问题,答案似乎是,而不是一个没有(也就是我可以偷懒一个YES ,只是包含头文件而不是重新声明函数原型) - 对吗? – morpheous 2010-05-31 05:57:36

+0

你在评论中的解释是正确的:你“可以懒惰,只包含头文件而不重新声明函数原型”,但是在讨论重新声明函数原型时,这个问题的答案(“这真的很有必要”)?是一个没有。 – Yktula 2010-05-31 15:22:36

+0

感谢您的澄清:) – morpheous 2010-05-31 15:59:20