問題タブ [c-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cython - C から asyncio / uvloop ループにアクセスする方法
私はPythonを初めて使用しますが、非同期ループへのアクセスも必要とする、作成したC APIモジュールを使用するuvloopを使用する非同期Pythonアプリを持っています。
1) asyncio にはまだこのための c-api がありませんか? Cで使用可能なイベントループを取得するためのハックはありますか? これはどこかで議論されていますか?
2) uvloop は、C で使い慣れた libuv を使用します。uv_loop_t ポインターを取得できれば、ループにフックできます。私は次のいずれかができると思います:
A) PyObject * を使用して uvloop のループに uv_loop_t* へのオフセットを計算し、それを使用しますか? PyObject_HEAD の長さを知っていると仮定しますか?
B) または、ループ ポインターを公開するために uvloop を非ハッキーに変更します。私は cython コードを見たことがないので、ここではまったく無知です。ループで Python 関数を作成し、それを C コードから呼び出して、C ポインタを取得できますか? お気に入り:
ここに getLoop を追加すると:
https://github.com/MagicStack/uvloop/blob/master/uvloop/loop.pyx
python - Python v3.x と C API を使用して Python v2.5 コードを解釈する (整数除算に関して)
Python v2.5 をサポートするサードパーティ ソフトウェアからエクスポートされているため、制御できない v2.5 Python コードがあります。
私のマシンには Python v3.3 があり、どうにかして C API を使用して v2.5 をエミュレートしたいと考えています。私の主な関心事は、v2.x と v3.x で異なる整数除算です。
たとえば、次のコードがあります。
どういうわけかこれを(v3.xを使用して)次のように解釈したい:
それについて何かできることはありますか?Python v2.5 を持っているかのようにコードを解釈する方法はありますか? 私の場合、2to3 スクリプトは機能せず、six モジュールも機能しないと思います。
私はまた、私のものに関連するこの質問を見つけました: Python 2 and Python 3 dual development
ありがとう