問題タブ [extension-modules]

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 に答える
162 参照

c - 拡張モジュール: void * を bytearray にマーシャリング (および/またはその逆)

データを準備するためにpython(手段) を使用していくつかの実験を行う(また、それらを有線に送信する - SPI) ことは、遅い (システムが限られている) ことを示しています。そこで、重要な部分を延期するために、組み込みpython3の拡張モジュールを作成することを考えていました。C次のいずれかを希望します。

  • pythonスクリプトは、拡張モジュールで作成されたメモリ ブロックにアクセスでき、できれmalloc()ば透過的に変換できます。bytearray
  • 拡張モジュールは、できれば透過的に変換可能bytearrayで作成されたオブジェクトへのポインターを取得しますpythonvoid *

python目標は、 (as としてbytearray) と拡張モジュール (asとして)の両方からアクセスできるゼロ変換メモリ ブロックとしてもゼロ コピーを持つことですvoid *

これを達成する方法はありますか?

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

python - Python 拡張モジュールの C コードから組み込み関数 (またはメソッド) を呼び出す方法は?

私が現在達成したいのは、返された組み合わせをソートすることを目的として、Pythonitertoolsモジュール関数を微調整combinationsして、渡されたものをソートしてiterableから組み合わせを作成することです。

私は初めて Python 拡張モジュールに取り組んでおり、これまでの唯一の経験は、Python 拡張モジュールのような "Hello World" を作成してコンパイルすることでしたが、いくつかのプログラミング言語での私の全体的なプログラミング経験が、この挑戦を成功させるために築き上げるのに十分な強固な基盤。

sorted()渡された iterable をソートできる組み込みの Python 関数があることは知ってcombinationsいますが、拡張モジュールの C コード内から呼び出す方法がわかりません。

私はちょうど書き込もうとしましiterable = sorted(iterable);たが、モジュールがコンパイルされても(警告付きで)、コンパイルされたモジュールのインポートは失敗しますImportError: cgitertools.cpython-36m-x86_64-linux-gnu.so: undefined symbol: sorted

私の質問は:

sorted()Python 拡張モジュールの C コード内から(例として使用して) Pythons 組み込みメソッドを呼び出す方法は?

私が試したことと、それがうまくいかなかった理由のすべての詳細の下に: