問題タブ [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.

0 投票する
1 に答える
790 参照

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

0 投票する
1 に答える
102 参照

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

ありがとう