【Perl,PHP】LLバトルロワイヤル13【Ruby,Python】
■ このスレッドは過去ログ倉庫に格納されています
0442methane
2010/11/07(日) 15:53:58CPythonで動かせるよ。CPythonの拡張モジュールを作るのがCythonの一番便利な使い方。
Cythonは、Cython用の(Pythonライクな)コードを、Pythonの拡張モジュール用のCコードに変換してくれる。
例えば >>435 では [].append を引数に渡しているけれど、実際に PyList_New でCPythonの
リストオブジェクトを作って、 PyObject_GetAttr で append 属性を取り出してっていう、CPythonの
拡張モジュールAPIを使ったコードに変換されている。
cdefで書いたsolve関数は高速だけど、Pythonから直接呼べない。
でもdefで書いたtest関数は普通にPythonから実行できるし、solveを呼びたかったらsolveをラップする
関数を def で定義したら良い。
■ このスレッドは過去ログ倉庫に格納されています