私がやりたいことは、ほとんどの人がやりたいこととは正反対です。Python で書かれたライブラリがあり、それを C (およびおそらく他の言語) で利用できるようにしたいのです。
これに対する典型的な答えは、C 用の Python ライブラリを使用することです。つまり、次のとおりです。
#include <Python.h>
int
main(int argc, char *argv[])
{
Py_Initialize();
PyRun_SimpleString("from time import time,ctime\n"
"print 'Today is',ctime(time())\n");
Py_Finalize();
return 0;
}
(ソース: http://docs.python.org/extending/embedding.html#very-high-level-embedding )
ただし、これは私には最適ではないようです。
- 醜いです
- C専用です
代わりに、ライブラリを C を含む多くの言語にバインドする方法が必要です。ラッパーの自動生成は気にしません。ライブラリは非常に単純なので、グルー コードを記述できます。
現時点で、私が思いついた唯一の解決策は、上記のようなコードを使用してライブラリを C にバインドすることです。次に、SWIGを使用して C ライブラリを他の言語にバインドします。
より良いものはありますか?