解决方案 »

  1.   

    我需要的是指针指向某个变量,那这个可以实现吗?当然java里面没有指针,我使用了jnative中的指针
      

  2.   

    java中是不让你访问内存地址的吧!
      

  3.   

    When in rome do as the romans do学习语言,无论是人类语言还是编程语言,切忌将自己原来的语言习惯,生搬硬套代入新的环境。
    中文里面,爷爷奶奶叔叔舅舅分的很清楚,西方语言从不分那么清楚。但是,这影响他们日常生活了吗?至少,他们长辈、晚辈之间的关系,看上去比我们融洽。同样,近二十年来,Java一直不能实现你这个具体的技术要求。但是,数以千万甚至亿计的Java程序/设备还是活的好好的,功能只比delphi的多,新的android应用还是不断推陈出新。你现在学新的语言/平台,就按照这个新的语言/平台的习惯去思考吧。
      

  4.   

    Java获取不了变量地址 就算获取到了你在Java里拿着地址也做不了什么事
    一定要地址才能实现那个函数的话(但目测99.99%的情况是不需要地址也可以的),只能采用其他语言编译DLL SO等库然后再让Java调用。
      

  5.   

    根本就不用想获取,话说,C++们没GC,Java还有提升 伊甸园中幸存,最后跑到老年代。你留地址??去访问的时候,会告诉你,此地已经拆迁。
      

  6.   

    To vnvlyp
    我有一个应用程序是用delphi调用c的dll实现的,现在需要使用java将该应用程序改写成网络版的,我需要的就是把delphi程序改写成java网络程序,java调用c的dll!在delphi中使用到了指针指向变量来调用dll,不知道在java里面如何实现
      

  7.   

    具体要怎么实现啊,我现在需要指针指向某个变量,然后调用c写好的dll,调用完成后指针所指向的变量会有一个返回值,我需要使用这个返回值
      

  8.   


    我也尝试了引用,jnative中有一个关于指针的操作,setIntAt()函数,但是不管是普通变量还是引用好像都只是设置值,没有指向那个变量
      

  9.   

    具体要怎么实现啊,我现在需要指针指向某个变量,然后调用c写好的dll,调用完成后指针所指向的变量会有一个返回值,我需要使用这个返回值这个根本用不着获取指针吧  用数组就能解决
      

  10.   


    这个怎么说呢,我的delphi程序的一部分是这样的
      g_LArg4   := g_SourceElimFlag;
      g_PArg8   := @g_LArg4;(指针指向变量)
      g_PArg9   := @g_ChiSquare;(指针指向变量)
      g_PArg10  := @g_RSquare;(指针指向变量)
      g_PArg11  := @g_PCMass;(指针指向变量)
      g_PArg12  := @g_sumSCEs;    (指针指向变量)
      CMB82error := CallCMB82dll;(调用c的dll)
    调用完c的dll后,指针所指向的变量有返回值,我需要使用这些返回值,如果用java数组的话要怎么操作啊???
      

  11.   


    这个怎么说呢,我的delphi程序的一部分是这样的
      g_LArg4   := g_SourceElimFlag;
      g_PArg8   := @g_LArg4;(指针指向变量)
      g_PArg9   := @g_ChiSquare;(指针指向变量)
      g_PArg10  := @g_RSquare;(指针指向变量)
      g_PArg11  := @g_PCMass;(指针指向变量)
      g_PArg12  := @g_sumSCEs;    (指针指向变量)
      CMB82error := CallCMB82dll;(调用c的dll)
    调用完c的dll后,指针所指向的变量有返回值,我需要使用这些返回值,如果用java数组的话要怎么操作啊???java的数组传给C  C在运算完成之后写回这个数组  java再用这个数组  就是已经改变后的值了
      

  12.   


    我的那么多参数的类型都不同,怎么放到一个数组里传给C啊,那还使用指针吗?我c中调用dll的函数的形参全都是void*类型的,如果改成传数组的话岂不是都得重新改了?而且这样的话还得改写C的程序重新编译DLL吗?
      

  13.   

    使用 java Main args 传字符,读取java输出流解析返回。 走内存危机,你会有危机的时候。
      

  14.   


    我这个是javaweb网站中的action中写的函数,根本就没有args,所以没办法用这个传递参数
      

  15.   


    我的那么多参数的类型都不同,怎么放到一个数组里传给C啊,那还使用指针吗?我c中调用dll的函数的形参全都是void*类型的,如果改成传数组的话岂不是都得重新改了?而且这样的话还得改写C的程序重新编译DLL吗?[/quote那你查一下unsafe这个关键字吧  获取地址  但是根据操作系统和虚拟机的不同  方法也不同
      

  16.   

    java语法有这样的么? 没见过
      

  17.   

    为什么要获取内存地址?Java只有引用 没有指针的 而且还有GC的