如何将代码逐字插入SWIG接口?

时间:2017-05-05 06:20:16

标签: common-lisp swig cffi

我需要将代码插入生成文件的标题中,但插入的代码是用Lisp编写的。由于SWIG试图解析它,它会中断。我需要类似于%pythoncode命令的东西,但对于CFFI(Lisp)。

#ifdef SWIGCFFI

%begin
%{
    (in-package :some-package)
%}
#endif /* SWIGCFFI */

另外,看看这个:https://github.com/swig/swig/blob/master/Source/Modules/cffi.cxx#L140我是否正确地假设%begin的内容将被丢弃,除非CPlusPlus || CWrap为真? (但我不需要C包装器,API适用于C,而不是C ++)?

1 个答案:

答案 0 :(得分:1)

回答我的问题:

%insert("lisphead") %{
    (in-package :some-package)
%}

这似乎是这样做的方法。感谢此博文:http://www.bnikolic.co.uk/blog/cpp-swig-insert-directive.html