2010-04-28 13 views

cevap

8

Ben ne kadar harika ctypes unuttum. Önce geri arama işlevi için tipini yaratmak: geri arama işlevinin ilk uygulanması için

CMPFUNC = CFUNCTYPE(c_int, POINTER(c_int), POINTER(c_int)) 

, biz sadece ;-) aldığımız argümanlar yazdırmak ve 0 (artan gelişimini dönmek:

def py_cmp_func(a, b): 
    print "py_cmp_func", a, b 
    return 0 

C callable callback'i oluşturun:

cmp_func = CMPFUNC(py_cmp_func) 
+0

Oh, evet! Bu sadece hile yaptı. Teşekkürler. Bu cpm_func öğesini bir ctypes.File alanı olan bir 'geri arama', ctypes.CFUNCTYPE (c_int, POINTER (c_int), POINTER (c_int)) – manson54

+0

Geri dönüşün dönüş türü ise ne yapardınız? void'? CFUNCTYPE’in ilk argümanı olarak belirtmek için 'c_void' yoktur. – Shahbaz

+0

[this] 'den (https://gitorious.org/telldus/telldus/commit/1108f3fad26f744c2418d22a547a17669522ce2e)' Hiçbiri 'kullanılmalıdır. – Shahbaz

İlgili konular