使用swig

时间:2017-01-17 21:01:02

标签: python c executable swig binaryfiles

使用在线提供的教程:http://www.swig.org/papers/PyTutorial98/PyTutorial98.pdf

我正在尝试重新使用可用的示例,但我遇到了以下错误:

  

swig:无法执行二进制文件

example.c

/* example.c */
double Foo = 7.5;
int fact(int n) {
if (n <= 1) return 1;
else return n*fact(n-1);
}

example.i

// example.i
%module example
%{
#include "headers.h"
%}
int fact(int n);
double Foo;
#define SPAM 42

错误:

$swig -python example.i
swig: cannot execute binary file

任何指针?为了生成example_wrap.c文件,我怎么能克服这个错误?

chmod +x example.i
$file example.i
example.i: ASCII C++ program text

1 个答案:

答案 0 :(得分:0)

您正在关注1998年的教程,并尝试为sparc处理器执行二进制文件。这里有点老式的东西。您可能正在尝试从存档中重新创建事物,其中有人试图记录他15年前所做的事情。

帮自己一个忙,并使用当前版本的swig和python,并从当前文档中学习http://www.swig.org/Doc3.0/Python.html#Python。 Swig已经看到了重大改进,而python在此期间也发生了重大变化。那时候c已经完美了:-)。如果你有想要在python中使用的C代码,请使用当前版本的swig和python,它会起作用。