問題タブ [python-c-extension]
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.
python - PyMem_Malloc よりも malloc を使用する理由はありますか?
Python C 拡張機能のメモリ管理のドキュメントを読んでいますが、私が知る限りでmalloc
は、PyMem_Malloc
. Python ソース コードに公開されず、ガベージ コレクションされるオブジェクトに格納される配列を割り当てたいとします。を使用する理由はありますmalloc
か?
python - Cython で固定長の変更可能な Python オブジェクトの配列を作成するにはどうすればよいですか?
トライ データ構造の作成に使用する Python オブジェクトの配列が必要です。タプルのように固定長で、リストのように変更可能な構造が必要です。リストが正確に正しいサイズであることを確認できるようにしたいので、リストを使用したくありません(余分な要素の割り当てを開始すると、トライが大きくなるにつれて、メモリのオーバーヘッドが急速に増加する可能性があります)。これを行う方法はありますか?オブジェクトの配列を作成してみました:
...しかし、それはエラーを出しました:
私がやろうとしていることを行うための最良の方法は何ですか?
python - PyTuple オブジェクトの解放
PyTuple
Python C-API を使用してオブジェクトを解放する適切な方法は何ですか?
挿入された要素への参照をPyTuple_SetItem
「盗む」ため、参照カウントのセマンティクスに関して言えば、タプルは多少特殊であることを私は知っています。また、タプル オブジェクトの参照を減らすと、タプル内のすべての要素の参照カウントが減ることもわかっています。
これを念頭に置いて、私は言うのが安全であるべきだと思います:
しかし、タプル参照カウントをデクリメントすると、最後の行でセグメンテーション違反が発生します。なぜこれが起こるのかわかりません。Py_DECREF
参照カウントの呼び出しの直前にある1
ので、ここで何が問題なのですか?
python - Python 拡張機能をインポートできません
私は python 拡張機能を学習しようとしています。単純なnoddy の例のc ファイルと setup.py を作成しました。
python.exe setup.py build
私に与えます:
次に、を実行すると、次のようになりpython.exe setup.py install
ます。
しかし、アイドル状態では、
それで、私は何を間違っていますか?確かに、私はひどく混乱しています。
python - Python C拡張機能の作成:PyListObjectを正しくロードする方法は?
float番号で満たされたPythonリストを読み取り、real channels[7]
それらの値を入力しようとしている間(F2Cを使用しているため、realはfloatのtypedefにすぎません)、そこから取得できるのはゼロ値だけです。以下のコードのエラーを指摘できますか?
python - easy_install は、バイナリのアップロード後に「セットアップ スクリプトが見つかりませんでした」というエラーで失敗しますか?
を使用して Python C 拡張機能のバイナリ配布をアップロードした後、「エラー: /tmp/easy_install/package-name-etc-etc にセットアップ スクリプトが見つかりませんでした」python setup.py bdist upload
で失敗します。easy_install [my-package-name]
私は何を間違っていますか?
python - Python への C 拡張の Docstrings?
Python への C 拡張機能を作成するとき、拡張機能のユーザーにdocstringとして公開されているコメントを何らかの方法で書き込むことができるようにすることはできますか?
python - Pythonのインスタンス変数と属性の違いは?
したがって、拡張機能を作成するための python docs には次のように書かれています。
「インスタンス変数を属性として公開したいと考えています。それを行う方法はいくつかあります。最も簡単な方法は、メンバー定義を定義することです。
そして定義を tp_members スロットに入れます:
ただし、すでにインスタンス変数を Noddy 構造体に入れています。
私の質問は、なぜそれらを両方の場所に置くのかということです。私の印象は、インスタンスが更新されたときに型の値を保持するために、型とインスタンスの両方にそれらを持たせたいからです。しかし、その場合、class 属性を変更するとインスタンス値はどのように更新されるのでしょうか? このような: