2020年7月20日 / 680次阅读 / Last Modified 2020年11月23日
有一次在Ubuntu上调试有tkinter程序的时候,出现segmentation fault。同样的python代码在Window下反而OK。
今日在学习阅读时,看到:python调用.so库的时候,如果库里的函数执行发生异常,就会出现segmentation fault。此文作者建议.so中的代码在C环境下要先测试通过。
看电子书时,作者也说,segmentation fault的根本是内存访问越界。
我还没测试,先记录一下。
下面的代码,可以复现出segmentation fault,是调用libc.so.6中的time函数时,不带参数:
>>> from ctypes import *
>>> libc = CDLL('libc.so.6')
>>> libc.time(None)
1606120963
>>> libc.time()
Segmentation fault (core dumped)
-- EOF --
本文链接:https://www.pynote.net/archives/2300
©Copyright 麦新杰 Since 2019 Python笔记