如何在Python代码中捕获嵌入式C++模块的exit()?
我在我的Python应用程序中嵌入了一个C++库(使用SIP进行了绑定)。在某些情况下(比如出错的时候),这个库会调用exit(),这会导致我的整个应用程序都退出。
有没有办法捕捉到这个事件,或者我需要修改这个库,让它以不同的方式处理错误?
非常感谢,
2 个回答
0
你可以通过设置LD_LIBRARY_PATH来覆盖库的链接,并且可以自己写一个退出函数。这样做是没问题的。
7
你需要修改这个库的源代码。在C语言中没有“异常处理”,而且exit()
这个函数在任何情况下都不会返回到调用它的代码。