Python允许使用 C 或 C++ 编写模块以使用新模块来扩展 Python 解释器的功能。
除了 ctypes能够兼容C数据类型,包装动态库以外,还有不少第三方工具提供更简单或更复杂的方式为Python创建C和C++的拓展,例如:Cython,Cffi,boost.python,pybind11等等。
ctypes
教程
官方文档
Calling C/C++ extensions with ctypes
Calling C functions from Python – part 1 – using ctypes – Yi Zhang’s MSDN Blog
注意事项
None
,整型,bytes
对象和字符串(unicode)是仅有的可以直接作为函数参数使用的四种Python本地数据类型。如果调用函数的传入参数涉及到其它数据类型,则必须经过显式的数据类型转换或显式指定参数类型,例如:# test.c float add(float x