私は今日、最初の Python 拡張機能を開始しましたが、演習として C ライブラリの非常に小さなラッパーを作成しただけでした。C ライブラリでよくあることですが、ハンドラーを生成する初期化関数から始めます。そのハンドラーを関数に渡し、後でメモリを解放するクリーンアップ関数に渡すことができます。
ラッパーを書き始めたとき、私は基本的に Python から各ネイティブ C 関数を呼び出す方法が必要でした。すぐに、別の関数で C から Python に任意のポインターを返すだけで、そこから C に戻す必要があるという問題にぶつかりました。Python では使用しないので、見た目は関係ありません。保存して渡すだけです。
では、Python と C の間で void ポインターをどのようにやり取りするのでしょうか?
注意: 拡張システムを使用してこのような小さなラッパーを作成することはお勧めできませんが、ctypes やその仲間を使用することをお勧めします。これは今のところ練習用です。