使用SWIG在Python中包装几个CSources(.c文件)以使用它们的函数

2024-04-26 13:24:37 发布

您现在位置:Python中文网/ 问答频道 /正文

有很多关于如何包装一个.c文件的单个函数的教程。但是我想包装几个.c文件的所有函数。这就是为什么我把它们都包含在接口文件(interface.I)中

/*interface.i*/
%module interface
%include source1.c
%include source2.c
%include source3.c

我现在想知道是否我必须包括所有出现在.c文件中的头文件。而且如果我必须考虑头文件中的头文件。你知道吗


Tags: 文件函数include头文件教程interfacemodulesource1
1条回答
网友
1楼 · 发布于 2024-04-26 13:24:37

通常你的C程序应该有一个它公开的接口。例如,source1/2/3.c及其内部头文件source1/2/3.h将编译为foo.dll. 然后接口foo\u function.h公开了可以从外部调用的函数。你知道吗

要包装外部函数,您只需要界面中的foo\u functions.h。i.您不需要source1/2/3.h。
C代码可能有另一个foo_constants.h左右,属于接口,有您需要的结构和非常方便的常量定义。你也应该加上这个。你知道吗

此外,您可能需要一些包括从SWIG本身。例如,生成指针和数组处理。类似于:
%包括cpointer.i
%指针函数(int,intp)
%包括carrays.i
%数组函数(unsigned int,uintarray)

祝你好运!你知道吗

相关问题 更多 >