3

cffi の下に列挙型を定義するとします。

from cffi import FFI
ffi = FFI()
ffi.cdef('typedef enum {RANDOM, IMMEDIATE, SEARCH} strategy;')

これで、再度呼び出すときに簡単にアクセスできますcdef。しかし、再宣言せずに、Pythonでこの列挙型にアクセスするにはどうすればよいでしょうか? ドキュメントに言及が見つかりません。

4

3 に答える 3

4

を使用ffi.dlopenし、 の戻り値を使用して修飾することにより、列挙値にアクセスしますffi.dlopen

>>> from cffi import FFI
>>> ffi = FFI()
>>> ffi.cdef('typedef enum {RANDOM, IMMEDIATE, SEARCH} strategy;')
>>> c = ffi.dlopen('c')
>>> c.RANDOM
0
>>> c.IMMEDIATE
1
>>> c.SEARCH
2
于 2014-12-01T07:48:18.317 に答える
1

ライブラリをラップした場合は、上記と同じものを次のように使用できます。

import _wrappedlib

print _wrappedlib.lib.RANDOM
于 2018-04-24T16:15:52.350 に答える