基本用法

假设我们想要使用 libcntohl 函数。

首先,我们必须加载 libc.so

>>> from ctypes import *
>>> libc = cdll.LoadLibrary('libc.so.6')
>>> libc
<CDLL 'libc.so.6', handle baadf00d at 0xdeadbeef>

然后,我们得到函数对象:

>>> ntohl = libc.ntohl
>>> ntohl
<_FuncPtr object at 0xbaadf00d>

现在,我们可以简单地调用该函数:

>>> ntohl(0x6C)
1811939328
>>> hex(_)
'0x6c000000'

这正是我们期望它做的。