【发布时间】:2018-04-08 13:07:51
【问题描述】:
我开发了一个库,我在 x86-64 位机器上进行了测试,它可以正常工作并成功通过测试。当我把它放在我的 android 应用程序中时,代码在一个构造函数中停止,该构造函数只是将其所有变量初始化为其默认值(指针被分配给 null,布尔值被分配给 false ......)。我已经为 x86-64 位设置了目标,所以我确信部署不同的架构不是问题。我怎样才能找出问题的根源,因为如果我在构造函数中注释掉初始化,它会在再次给出 SEGILL 错误之前执行大量代码?我在模拟器中使用 android 8 x64 位英特尔图像。此外,log cat 没有显示任何内容,唯一的错误是 SEGILL。
似乎大多数时候,做一些指针操作会导致问题。简单地用 null 或 new 初始化指针会导致应用崩溃。
【问题讨论】:
-
@DmitriiZ。行为已经改变,它不会在 stl 上崩溃,所以它不是重复的
标签: android-ndk