我从文档了解什么是,什么是%{ %}
之间插入包装,那%inline %{ %}
?
是不是一样的吗?如果不是,有什么区别?
也许我们可以找到%inline %{ %}
许多OCCURENCES但只有一个%{ %}
的occurence?非常感谢!
你可以有任意数量的任何类型的块的出现。该%{ ... }%
刚刚插入什么是块由SWIG生成的文件中一字不差。它是用来使生成的文件进行编译,也就是你平时放在那里不管包括和定义,并从而要求以获得所生成的文件进行编译。
OTOH,从文档:
所述%inline指令插入所有下面逐字到接口文件的标题部分的代码。该代码然后由SWIG预处理器和解析器解析两者。
所以%inline %{ ... %}
做两件事情,而:它把声明中生成的包装文件,它会导致痛饮生成的包装代码,以使模块功能等,可以从目标语言(的Python,Lua的,等等)被调用。这不是%{ ... }%
的情况:在这样的分组码不会被包裹,只获取生成的包装文件逐字倾倒。
不要害怕打开那SWIG生成*_wrap.cpp
:把一些易于搜索的代码在这两个类型的模块,并期待在那里他们最终在包装文件,并得到了产生什么额外的代码。