Chinaunix首页 | 论坛 | 博客

分类: Python/Ruby

2014-04-13 17:18:10

回调函数

        回调函数,好高级的主题。不看文档,真想不到ctypes还有这个主题的内容。

>>> IntArray5 = c_int * 5

>>> ia = IntArray5(5, 1, 7, 33, 99)

>>> qsort = libc.qsort

>>> qsort.restype = None         //qsort的返回值是void.


            //以下是在Python中定义C函数的节奏. 

>>> CMPFUNC = CFUNCTYPE(c_int, POINTER(c_int), POINTER(c_int))                  //步骤一:定义函数类型

>>> def py_cmp_func(a, b):                                                                                                  //步骤二 : 利用Python的语法定义函数

...     print "py_cmp_func", a[0], b[0]           //因为a、b是指针嘛!

...     return a[0] - b[0]

... 

>>> cmp_func = CMPFUNC(py_cmp_func)                      //步骤三 : 将Python函数声明为一个C函数。


            >>> for i in ia: print i, 

...

1 5 7 33 99

>>>

  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


访问动态链接库导出的变量

            暂且没用过,不管了。




阅读(1649) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~