Liu-Feng 2022-03-24 12:59 采纳率: 100%
浏览 11
已采纳

Python调用C++动态库函数出现segfault

问题遇到的现象和发生背景

为了使用 Python 调用 C++ 中写好的函数,将 C++ 函数打包成动态库文件,之后在 Python 中调用,C++ 函数中接收的参数类型存在有 unsigned char* 类型,在 Python 传入时使用 c_ubyte * 3072 代替,同时 Python 还需要获取指针被修改后的值。仅测试此部分文件,可以看到 Python 中的数组成功被 C++ 中的函数修改,但是将此部分用到 多线程程序 中,会出现段错误。是类型传递错了么。
查看 多线程程序 出错的 core 文件,发现函数在 subtype_dealloc 处出错,应该是含有调用 C++ 函数的类的实例在回收空间时出了错。

我想要达到的结果

Python程序中能够顺利回收空间,不出现 segfault,有什么好的建议么?

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 已采纳回答 3月26日
      • 创建了问题 3月24日

      悬赏问题

      • ¥15 sql相关子查询的一道选择题
      • ¥15 关于图像检测的问题#
      • ¥15 用cemu8086编写代码
      • ¥15 C语言写简单停车场管理系统怎么能最通俗易懂?
      • ¥15 mcisendcommand播放音乐堆栈调用异常
      • ¥15 下载的vscode无法运行代码
      • ¥100 R语言的数据分析及可视化
      • ¥200 opc-62541库的密码登录和加密连接问题
      • ¥20 关于#深度学习#的问题:典型地物的识别问题
      • ¥20 怎么用两个51单片机各控制8个led灯