我从文档中理解的是,%{ %}插入到包装器之间的内容是什么%inline %{ %}?
它是一样的吗?如果不是,有什么区别?
也许我们可以找到很多%inline %{ %}但只有一次出现%{ %}?非常感谢!
Oli*_*ver 10
您可以出现任意数量的块类型.在%{ ... }%刚刚插入什么是块由SWIG生成的文件中一字不差.它被使用,以便生成的文件将被编译,即您通常放置任何包含和定义等,以便生成的文件进行编译.
OTOH,来自文档:
%inline指令将所有跟随文字的代码插入到接口文件的标题部分中.然后由SWIG预处理器和解析器解析代码.
所以它%inline %{ ... %}做了两件事:它将声明放在生成的包装器文件中,它使SWIG生成包装器代码,以便可以从目标语言(Python,Lua,无论如何)调用块中的函数等.情况并非如此%{ ... }%:此类块中的代码不会被包装,只是在生成的包装器文件中逐字转储.
不要害怕打开*_wrap.cppSWIG生成的东西:在两种类型的块中放置一些易于搜索的代码,并查看它们在包装文件中的最终位置,以及生成的其他代码.