如何在SWIG中忽略类的整个接口仅包装指定单个函数
SWIG确实支持这种“先全盘忽略类接口,再按需导出指定函数”的方式,具体做法如下:
首先用%ignore A::*;指令忽略类A的所有成员(包括构造、析构和所有成员函数),接着通过%unignore指令恢复你需要保留的部分,最后导入类的头文件即可。
完整的SWIG接口示例代码:
// 忽略类A的所有成员 %ignore A::*; // 恢复需要的构造函数、析构函数和foo函数 %unignore A::A; %unignore A::~A; %unignore A::foo; // 导入类A的定义 %include "A.h"
这样处理后,不管后续类A新增多少成员函数,都会被自动忽略,无需手动添加新的%ignore指令,只维护需要导出的%unignore列表就行。
内容的提问来源于stack exchange,提问作者AnDevi
相关产品推荐
相关产品推荐

