簡體   English   中英

使用Swig連接C和Python

[英]Interfacing C and Python using swig

使用在線提供的教程: 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
%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

您正在遵循1998年的教程,並嘗試為sparc處理器執行二進制文件。 這里是一件非常嚴肅的年份。 您可能正在嘗試從一個檔案中重新創建東西,有人試圖記錄他15年前的所作所為。

幫自己一個忙,並使用最新版本的swig和python,並從當前文檔中學習http://www.swig.org/Doc3.0/Python.html#Python Swig取得了重大改進,而python取得了重大變化。 c當時已經很完美了:-)。 如果您想從python中使用C代碼,請使用當前版本swig和python,它將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM