求救,java通过JNI调用C++ dll

问题描述

环境:win7+VS2008+eclipse问题:java调用release的dll中的一个函数第三次时出错,前两次都正常,第三次调用时Java代码进入调用dll中该函数的地方编辑器就死掉了,只能强制停止才能结束调试,没有报任何错误,dll也没反馈任何值。vs附加进行方式调试,每次都能正常运行注:在三次调用该函数时,dll的其它函数也被调用,没有出现什么异常。环境:server2003+eclipse同样的代码,dll为release版,第一次调用报错,重新调用就会正常代码无法往外考,因此无法贴出,希望大家能给一些参考方向,谢谢

解决方案

解决方案二:
该回复于2012-01-13 08:53:41被版主删除

时间: 2024-09-20 04:05:33

求救,java通过JNI调用C++ dll的相关文章

java 通过jni调用c#dll ,抛出异常

问题描述 ##AfatalerrorhasbeendetectedbytheJavaRuntimeEnvironment:##InternalError(0xe0434352),pid=8256,tid=6488##JREversion:7.0_13-b20#JavaVM:JavaHotSpot(TM)ClientVM(23.7-b01mixedmode,sharingwindows-x86)#Problematicframe:#C[KERNELBASE.dll+0xc6e3]RaiseExce

Java通过JNI调用C语言的方法

JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能. 解决JAVA对本地操作的一种方法就是JNI. JAVA通过JNI调用本地方法,而本地方法是以库文件的形式存放的(在WINDOWS平台上是DLL文件形式,在UNIX机器上是SO文件形式).通过调用本地的库文件的内部方法,使JAVA可以实现和本地机器的紧密联系,调用系统级的各接口方法. 简单介绍及应用如下: 一.JAVA中所需要做的工作 在JAVA程序中,首先需要在类中声明所调

java用jni调用下面C++,如何传参取值

问题描述 java用jni调用下面C++,如何传参取值 #include <iostream> #include <afx.h> #include <tchar.h> #include <ctime> #include<winsock.h> unsigned char posmstkey[9]={0x12,0x23,0x35,0x56,0x55,0x33,0x98,0x11}; char starC[56],starD[56],starK[17]

Java通过JNI调用libcurl导致JVM崩溃

问题描述 通过Java的JNI调用libcurl导致JVM崩溃,不知道什么原因大家帮看看,并不是刚上来就崩溃,而是执行一段就崩溃,JVM崩溃的log如下:##AfatalerrorhasbeendetectedbytheJavaRuntimeEnvironment:##SIGSEGV(0xb)atpc=0x0000003163221ca2,pid=12648,tid=47588522796480##JREversion:6.0_23-b05#JavaVM:JavaHotSpot(TM)64-Bi

linux java 通过jni调用 中文出现乱码

问题描述 linuxjava通过jni调用传递字符串到c++,或是从c++传递到java,中文出现乱码系统的编码如下:-bash-3.2$vim/etc/sysconfig/i18n1LANG="en_US"2SUPPORTED="en_US:en"3SYSFONT="lat0-sun16"4SYSFONTACM="iso01"在网上查了些资料,windows下的可以解决了,调用size=WideCharToMultiByte

Java通过JNI调用C++程序

JNI是Java Native Interface的缩写,中文为JAVA本地调用.使用JNI可以很方便的用我们的Java程序调用C/C++程序.很多时候,某些功能用Java无法 实现,比如说涉及到底层驱动的一些功能,这时候我们就可以利用JNI来调用C或者C++程序来实现,这就是JNI的强大之处.但是JNI也有它的缺点,使 用java与本地已编译的代码交互,通常会丧失平台可移植性. 下面是一个JNI例子,调用C++输出"hello world":   第一步:创建Java类,在里面定义一

关于Java使用JNI调用C++动态库进行回调的问题

问题描述 最近需要学习JNI去调用C++动态链接库,所以写了个小实例试下JAVA调用C++库中的回调问题.代码如下JAVA层代码packagezm.com;publicclassLog{/***@paramargs*/static{//System.loadLibrary("JniLib");System.load("C:\VC_TEST\JniLib\Debug\JniLib.dll");}publicvoidoutput(Stringout){System.ou

JNI调用第三方dll报错

问题描述 ##AfatalerrorhasbeendetectedbytheJavaRuntimeEnvironment:##EXCEPTION_ACCESS_VIOLATION(0xc0000005)atpc=0x0000000000000000,pid=6576,tid=8628##JREversion:Java(TM)SERuntimeEnvironment(8.0_05-b13)(build1.8.0_05-b13)#JavaVM:JavaHotSpot(TM)64-BitServerV

jni调用java方法报错!!!

问题描述 jni调用java方法报错!!! 12-04 11:33:08.818: A/art(23825): art/runtime/check_jni.cc:70] JNI DETECTED ERROR IN APPLICATION: calling static method java.lang.String com.library.utils.MD5Utils.md5(java.lang.String) with CallObjectMethod 12-04 11:33:08.818: