Android ndk SEGILL android ndk代码

Android ndk SEGILL android ndk代码,android-ndk,Android Ndk,我开发了一个库,在x86-64位机器上进行了测试,它可以正常工作并成功通过测试。当我把它放在我的android应用程序中时,代码在一个构造函数中停止,该构造函数只是将其所有变量初始化为它们的默认值(指针被指定为null,布尔值被指定为false…)。我已经为x86-64位设置了目标,因此我确信部署不同的体系结构不会有问题。我怎样才能找出问题的根源,因为如果我在构造函数中注释掉初始化,它将在再次给出SEGILL错误之前执行大量代码?我在模拟器中使用的是安卓8 x64位intel映像。此外,log

我开发了一个库,在x86-64位机器上进行了测试,它可以正常工作并成功通过测试。当我把它放在我的android应用程序中时,代码在一个构造函数中停止,该构造函数只是将其所有变量初始化为它们的默认值(指针被指定为null,布尔值被指定为false…)。我已经为x86-64位设置了目标,因此我确信部署不同的体系结构不会有问题。我怎样才能找出问题的根源,因为如果我在构造函数中注释掉初始化,它将在再次给出SEGILL错误之前执行大量代码?我在模拟器中使用的是安卓8 x64位intel映像。此外,log cat没有显示任何内容,唯一的错误是SEGILL


似乎大多数情况下,执行一些指针操作都会导致问题。简单地用null或new初始化指针会导致应用程序崩溃。

我没有启用SSE,而是启用了android不支持的avx,因此通过使用avx对某些部分进行了优化,这导致了SIGILL。

可能重复@dmitriz。行为已经改变,它不会在stl上崩溃,所以它不是重复的