テスト済みの c コードを Python コードでラップしようとしています。手順は次のとおりです。
(1) 共有ライブラリをビルド gcc -c -Wall -Werror -fpic calc.c
以下はcalc.cコードです:
int add(int a,int b)
{
return a + b;
}
calc.h extern int add(int a,int b);
(2) 生成された libcalc.so を、以下の Python コードと同じフォルダーに配置します。
(3)以下は私のpymain.cです
from __future__ import absolute_import
from __future__ import print_function
import pycalc
if __name__ == '__main__':
print(pycalc.add(10,20))
(4)以下はpycalcコードです
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from Cython.Build import cythonize
cdef extern from "calc.h":
int add(int a,int b);
def add(a,b):
return add(a,b)
ただし、上記のファイルの次の行で、SyntaxError: 無効な構文としてエラーが発生しています。
cdef extern from "calc.h":