android - Android NDK - C++ 异常导致第 3 方本机库崩溃
问题描述
我在创建的依赖于另一个 3rd 方库的 android 本机库中遇到问题。
我正在使用专有的 Android POS 终端(Android Lollipop API 22)。它带有一个专有的本机库“.so”,我用我自己的本机代码包装了该库,该代码将从 Android Java 调用。
我遇到的问题是,当我的代码抛出本地库中捕获的 c++ 异常(也就是说,我没有向 java 抛出异常)时,应用程序在 throw 语句处因 SIGSEGV 致命错误而崩溃。
如果我将第 3 方本机库从链接中取出,我可以随心所欲地抛出和捕获异常。添加回“.so”库,任何抛出都会导致崩溃。
知道如何排除故障或解决问题吗?
解决方案
事实证明,问题出在第三方库上。如果本机库是在没有异常的情况下构建的,那么调用该库的代码也不能使用异常。
非常令人沮丧。
推荐阅读
- c++ - 在类模板的子结构中重载 operator<<
- ios - 标签徽章仅在单击通知时有效
- twilio - 如何在 ASP.NET Core 2.1 中将重定向附加到 VoiceResponse?
- node.js - NPM 无法在 React 项目上安装错误
- javascript - 如何仅在双 breket 正则表达式匹配中结束 breket
- php - wordpress 插件开发页面表单显示在每个帖子和页面编辑的底部
- r - 在 R 中使用多个自定义列传播数据框
- python - 在 Python 中,DOWNLOAD_DELAY 和 time.sleep 有什么区别?
- c++ - VC6中使用Open功能如何选择文件夹?
- javascript - 当我尝试将值添加到总和时,函数会继续呈现。创建反应应用