NDK开发之函数无返回值导致的crash

NDK开发之函数无返回值导致的crash

最近在学习FFmpeg,遇到了一个莫名其妙的native crash,堆栈解析出来是在这么一行:
NDK开发之函数无返回值导致的crash_第1张图片
起初以为是我使用FFmpeg的方式有问题导致了av_read_frame的crash,最后查了半天也没发现哪里调错了,最后突然看到我好像没有加return 0,于是加上去试了下,然后就不崩溃了。。。AS对于NDK的代码错误提示的支持太弱了,这种明显的错误竟然没有直接导致编译失败。

解决方式:在Cmake中加入这一行代码NDK开发之函数无返回值导致的crash_第2张图片
Build后在warning信息里搜索“reaches end of non-void function”,就可以找到代码中所有没有返回值的函数。
NDK开发之函数无返回值导致的crash_第3张图片

你可能感兴趣的:(ndk)