Cアプリでpythonモジュールをロードするために、非常に小さくて単純なサンプルを探しています。どこでも検索すると、長い例が表示され、理解できません。これがスタックオーバーフローのリンクを共有している場合は、この質問を削除します。ありがとう、私はPythonが初めてです。
user1419119
質問する
185 次
1 に答える
4
以下のようにPythonモジュール名reverse.pyを作成します。
def rstring(s):
i = len(s)-1
t = ''
while(i > -1):
t += s[i]
i -= 1
return t
次のようにCアプリケーションを作成します。
#include <Python.h>
int main()
{
PyObject *strret, *mymod, *strfunc, *strargs;
char *cstrret;
Py_Initialize();
PySys_SetPath(".");
mymod = PyImport_ImportModule("reverse");
strfunc = PyObject_GetAttrString(mymod, "rstring");
strargs = Py_BuildValue("(s)", "Hello World");
strret = PyEval_CallObject(strfunc, strargs);
PyArg_Parse(strret, "s", &cstrret);
printf("Reversed string: %s\n", cstrret);
Py_Finalize();
return 0;
}
ここで、reverse.pyとCアプリケーションを同じフォルダーに保存してください。その後、Cサンプルアプリケーションをコンパイルして実行してください。
上記のサンプルの各行を調べてください。合計で約20行あります。いずれかの行について質問がある場合は、お知らせください。喜んでお答えします。
私がそれらのサンプルを修正したので、クレジットはここのSOリンクに行きます:PythonをCに埋め込む-モジュールをインポートする
于 2012-05-26T16:32:33.657 に答える