NDK C++调用C函数崩溃(高手进)

thinkperson_x201 2016-09-20 03:02:48
我现在使用NDK做Native开发,发现:在Java编写的android程序中调用NDK库,存在崩溃的问题,崩溃的地方在C++调用C函数(malloc, calloc)。具体情况如下:


A静态库:使用标准的c和C++编写,用ndk编译;
B动态库:使用C开发,同时将A库集成过来。

然后在Android Java程序中加载B动态库,运行会crash,通过adb跟踪,发现问题出在A库的C++函数调用C函数(malloc,calloc)。

如果使用纯c的测试程序集成A静态库运行是没有问题的,所以我认为:A静态库是没有问题的,问题出在B动态库集成A静态库,但我试了很多方法也没有找到原因,大家有什么建议,请支招。
...全文
284 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwerwqily 2016-09-21
  • 打赏
  • 举报
回复
c++文件中extern "C"。
山鹰1985 2016-09-20
  • 打赏
  • 举报
回复
多态出问题了吧,C++有类,C没有,C满足不了C++的需求,隐约记得大学时,C用malloc来分配内存,而C++则用 new ,这样是不是地址不对,JAVA写多了,都不记得了,呵呵,希望能对你有所启发。

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧