2024-04-26 13:24:37 发布
网友
有很多关于如何包装一个.c文件的单个函数的教程。但是我想包装几个.c文件的所有函数。这就是为什么我把它们都包含在接口文件(interface.I)中
/*interface.i*/ %module interface %include source1.c %include source2.c %include source3.c
我现在想知道是否我必须包括所有出现在.c文件中的头文件。而且如果我必须考虑头文件中的头文件。你知道吗
通常你的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)
祝你好运!你知道吗
通常你的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)
祝你好运!你知道吗
相关问题 更多 >
编程相关推荐