python-ctypes常用函数

发布时间 2023-09-01 20:15:10作者: 天子骄龙

 

ctypes 是 Python 的一个库,它提供了一个面向对象的包装,使 Python 能够以更自然的方式使用 C 语言编写的库和动态链接库。以下是一些常用的 ctypes 函数:

  1. cdll: 用于加载动态链接库(DLL)。
  2. windll: 用于加载Windows的DLL文件。
  3. OleDLL: 用于加载OLE DLL文件。
  4. WinDLL: 用于加载Windows的DLL文件。
  5. PyDLL: 用于加载C编写的Python DLL。
  6. c_void_p: 用于创建通用指针类型。
  7. c_char_p: 用于创建指向C风格的字符串。
  8. c_wchar_p: 用于创建指向宽字符的字符串。
  9. c_byte: 用于创建字节类型。
  10. c_bool: 用于创建布尔类型。
  11. c_int8: 用于创建8位有符号整数类型。
  12. c_uint8: 用于创建8位无符号整数类型。
  13. c_int16: 用于创建16位有符号整数类型。
  14. c_uint16: 用于创建16位无符号整数类型。
  15. c_int32: 用于创建32位有符号整数类型。
  16. c_uint32: 用于创建32位无符号整数类型。
  17. c_int64: 用于创建64位有符号整数类型。
  18. c_uint64: 用于创建64位无符号整数类型。
  19. c_float: 用于创建单精度浮点数类型。
  20. c_double: 用于创建双精度浮点数类型。
  21. c_char: 用于创建字符类型。
  22. c_wchar: 用于创建宽字符类型。
  23. byref: 用于创建一个引用,该引用指向传递给函数的参数。
  24. addressof: 用于获取对象在内存中的地址。
  25. sizeof: 用于获取对象在内存中的大小。
  26. cast: 用于将一个对象转换为另一个对象。
  27. PyBuffer_FromReadWriteMemory: 用于从内存创建缓冲区对象。
  28. PyBuffer_GetPointer: 用于获取缓冲区对象的指针。
  29. PyBuffer_ToReadWriteObject: 用于将缓冲区对象转换为可读可写内存对象。
  30. PyObject_AsCharBuffer: 用于将Python对象转换为字符缓冲区对象。
  31. PyObject_AsReadBuffer: 用于将Python对象转换为只读缓冲区对象。
  32. PyObject_AsWriteBuffer: 用于将Python对象转换为可写缓冲区对象。
  33. PyUnicode_AsWideCharString: 用于将宽字符字符串转换为Python字符串对象。
  34. PyString_FromStringAndSize: 用于从C字符串和大小创建一个Python字符串对象。
  35. PyString_FromString: 用于从C字符串创建一个Python字符串对象。
  36. PyInt_FromLong: 用于从C的long整数创建一个Python整数对象。
  37. PyInt_FromSize_t: 用于从C的size_t整数创建一个Python整数对象。
  38. PyFloat_FromDouble: 用于从C的double创建一个Python浮点数对象。
  39. PyObj_FromPtr: 用于从C指针创建一个Python对象。
  40. PyEval_GetBuiltins: 用于获取当前全局符号表。
  41. PyEval_GetGlobals: 用于获取当前全局符号表。
  42. PyEval_GetLocals: 用于获取当前局部符号表。
  43. PyEval_EvalCodeEx: 用于执行代码对象,并返回结果对象。