当前位置:  技术问答>java相关

JNI 中内存管理的问题

    来源: 互联网  发布时间:2015-04-23

    本文导语:  在JAVA中,我所知道的是,不能对内存直接操作,是由虚拟机来管理的。 但现在我有一件苦差事,让我用JNI做一些东西,我感到用JNI是没办法的办法了      现在所作的工作是,用java组织起一个c程序,想起来应该...

在JAVA中,我所知道的是,不能对内存直接操作,是由虚拟机来管理的。
但现在我有一件苦差事,让我用JNI做一些东西,我感到用JNI是没办法的办法了

     现在所作的工作是,用java组织起一个c程序,想起来应该不难,不就是相当于用java写个main函数嘛!
     但现在的问题是,要调用的方法全部是c函数,而那些c函数到处都是指针,这样直接操作内存,java允许吗?(我想应该可以吧,毕竟是调用JNI嘛,不过这也是我不敢肯定的地方)
    在c中操作内存是很灵活的,但java中好像是不允许的。那我这样写出来的程序能运行吗?那c函数中的内存操作是否受到java虚拟机的管理呢?

    晕啊~~~,哪位高手帮帮忙,谢谢!

|
JNI里面使用指针应该没有什么问题,我一般的操作都没有问题。

但是你还是在JVM的环境中,好像对内存的申请有一定限制,我写的一个dll中
就出现了初始化一个_variant_t的时候
_variant_t t = _variant_t(str);//str长度有200k左右
出现了

# An EXCEPTION_STACK_OVERFLOW exception has been detected in native code outside the VM.
# Program counter=0x8f84c37
#


|
必需转换出来,比如lxk 结构有15个成员,但现在我只需要其中的3个传给java,那你必需从lxk 结构中取出这个3个成员值,转换成字节数组,然后一次性传给java。
如果有太多类似的东西你可以作个c(c++)2java通信协议。

    
 
 

您可能感兴趣的文章:

  • JNI的问题
  • 关于JNI的中文问题(急急急急急)
  • jni的一个小问题--路径问题?
  • jni的方法,用java调用c的代码,遇到的问题!
  • jni 问题 急急急 分数不够可以再加
  • solaris 上编译JNI库的问题
  • 我在Thinking in Java中遇到的Jni问题!
  • jni中汉字问题,如何把java中的汉字转化到c中去?
  • JNI中汉字问题。。。
  • 有关JNI的问题?
  • liunx jni编程问题!!!
  • Linux 下JNI编程调用动态连接库的问题,十万火急
  • 【醒目】Unix下用jni调c++编译so库问题
  • 关于JNI的问题
  • linux下JNI给JAVA传递中文的问题
  • JNI++ iis7站长之家
  • 最简单的JNI问题请教
  • JNI问题【求助】javah 怎么对一个不是缺省package的类生成头文件?
  • 高分求救!JNI与中文的问题!!请知道的朋友帮帮忙!!!
  • 关于Java本地接口的问题(JNI),分数不是问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 编译JNI.h报大量错
  • JNI++
  • javah -jni myclass???在线...
  • 请问如何用jni类来调用一个非java写的外部exe?谢谢!
  • 难道没有人可以告我如何在applet中使用jni方法吗?
  • 听同事说JNI很烂! 很容易出错! 是真的吗? 来着有分!
  • 请问JNI是个什么东西?
  • jni难吗?谁有这方面的资料?
  • 哪儿有JNI的资料?
  • 100分求java +VC6.0使用JNI的最简单例子
  • JNI 助手类 NativeCall
  • JNI代码生成器 JNIGen
  • JNI编程工具 Janet
  • LevelDB JNI
  • 有请写过jni的朋友
  • 哪们有关于JNI的电子书或网上资料,能否给我一份
  • 在JNI编程中创建共享库时(.C->.DLL)(vc6.0环境…………多谢高手指教!
  • 一个巨迷糊的送分题(jni)
  • 关于JNI,保证给分,多谢,急用
  • Linux下的JNI封装 jniexec


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3