当前位置: 技术问答>linux和unix
【醒目】Unix下用jni调c++编译so库问题
来源: 互联网 发布时间:2016-02-17
本文导语: 如题,Solaris10 unix里jni载入c++编译生成.so文件,执行出错。分析问题可能在于C++一个类中定义的static RWCString变量赴值越界。比如 pulic class A{ public static RWCString abc; } class B{ RWCString A::abc; ↓↓↓↓↓↓↓↓↓...
如题,Solaris10 unix里jni载入c++编译生成.so文件,执行出错。分析问题可能在于C++一个类中定义的static RWCString变量赴值越界。比如
pulic class A{
public static RWCString abc;
}
class B{
RWCString A::abc;
↓↓↓↓↓↓↓↓↓↓↓↓↓
A::abc[0]=0;
↑↑↑↑↑↑↑↑↑↑↑↑↑
}
程序执行以后,系统就会崩掉,好像是segment越界。
记不太清了,好像是这个情形。
不知道各位有没有这方面经验,给介绍一下。有相关的例子,麻烦给个链接
pulic class A{
public static RWCString abc;
}
class B{
RWCString A::abc;
↓↓↓↓↓↓↓↓↓↓↓↓↓
A::abc[0]=0;
↑↑↑↑↑↑↑↑↑↑↑↑↑
}
程序执行以后,系统就会崩掉,好像是segment越界。
记不太清了,好像是这个情形。
不知道各位有没有这方面经验,给介绍一下。有相关的例子,麻烦给个链接
|
"solaris10里边好像没有gdb"
可以下源码编译,不知道可以不可以用..
我没有学过C++
不懂可能帮不了你:(
RWCString如果表指针的那么事可以A::abc[0]=0;这么用的..
最好在用之前能检查下
if(A::abc)再使用..
如果怀疑事静态的问题可以去掉静态试试..
可以下源码编译,不知道可以不可以用..
我没有学过C++
不懂可能帮不了你:(
RWCString如果表指针的那么事可以A::abc[0]=0;这么用的..
最好在用之前能检查下
if(A::abc)再使用..
如果怀疑事静态的问题可以去掉静态试试..