1

Cアプリでpythonモジュールをロードするために、非常に小さくて単純なサンプルを探しています。どこでも検索すると、長い例が表示され、理解できません。これがスタックオーバーフローのリンクを共有している場合は、この質問を削除します。ありがとう、私はPythonが初めてです。

4

1 に答える 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 に答える