CObjects —Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/2.7/c-api/cobject
移動先:案内検索

CObjects

警告

CObject APIは、Python2.7で非推奨になりました。 新しい Capsules APIに切り替えてください。


type PyCObject
PyObject のこのサブタイプは不透明な値を表し、Pythonコードを介して他のCコードに不透明な値を(void*ポインターとして)渡す必要があるC拡張モジュールに役立ちます。 これは、あるモジュールで定義されたC関数ポインターを他のモジュールで使用できるようにするためによく使用されるため、通常のインポートメカニズムを使用して、動的にロードされたモジュールで定義されたCAPIにアクセスできます。
int PyCObject_Check(PyObject *p)
引数が PyCObject の場合はtrueを返します。
PyObject *PyCObject_FromVoidPtr(void *cobj, void (*destr)(void*))
void * cobj から PyCObject を作成します。 destr 関数は、 NULL でない限り、オブジェクトが再利用されるときに呼び出されます。
PyObject *PyCObject_FromVoidPtrAndDesc(void *cobj, void *desc, void (*destr)(void*, void*))
void * cobj から PyCObject を作成します。 destr 関数は、オブジェクトが再利用されるときに呼び出されます。 desc 引数を使用して、デストラクタ関数の追加のコールバックデータを渡すことができます。
void *PyCObject_AsVoidPtr(PyObject *self)
PyCObject self が作成されたオブジェクトvoid *を返します。
void *PyCObject_GetDesc(PyObject *self)
PyCObject self が作成された説明void *を返します。
int PyCObject_SetVoidPtr(PyObject *self, void *cobj)
self 内のvoidポインタを cobj に設定します。 PyCObject にはデストラクタが関連付けられていてはなりません。 成功した場合はtrueを返し、失敗した場合はfalseを返します。