如何在Android NDK C ++代码中使用try-catch语法?

时间:2016-01-20 12:10:41

标签: android c++ android-ndk

我是Android NDK的初学者,对C ++知之甚少。我已经使用C ++编写了一些逻辑,然后将它们构建为.so文件,然后将它与JNI一起用于我的Android项目,但有时它会引发.so文件崩溃。

我想快速解决这个问题,我想知道我是否可以在我的C ++代码中使用try-catch语法? (我试过,但它总是报告编译错误。)如果是,我该怎么办?

C ++代码:

netsh advfirewall firewall delete rule name="FTP" program=%SystemRoot%\System32\ftp.exe

编译错误: 错误:禁用异常处理,使用-fexceptions启用

1 个答案:

答案 0 :(得分:2)

是。你可以在c ++ NDK代码中使用try catch,但它不会捕获所有本机崩溃。

正如您的错误所说,您需要在编译NDK代码时明确启用异常功能。为此,请添加

APP_CPPFLAGS += -fexceptions

到Application.mk文件。

如果您想捕获所有可能的NDK崩溃,请查看https://github.com/xroche/coffeecatch库。