`
wqshren
  • 浏览: 24627 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Jnative的调用dll文件

阅读更多
初次尝试缺发生异常:org.xvolks.jnative.exceptions.NativeException: Function Decrypted not found
说我的方法没有找到,所以查了一下资料,通过确认,是生成dll文件的时候,方法名给优化了,解决办法:
#ifndef __DES3_H__
#define __DES3_H__

#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include "string.h"

using namespace std;

#define SUCCESS 0
#define FAIL    1

#define DESENCRY 0
#define DESDECRY 1

#define LIBEXPORT_API extern "C" __declspec(dllexport)
一定要把声明继承C的标准,然后生成的dll文件中的方法名就不会改变,就可以解决上面的异常了。
typedef unsigned char UChar;
static const char *tostring="0123456789ABCDEF";
class Des
{
public:
Des(void);
~Des(void);
public:
UChar* Encrypt(UChar *data, UChar *key,int readlen);
    UChar* Decrypted(UChar *data,UChar *key,int readlen);
UChar* Encrypt3(UChar *data, UChar *key,unsigned int n ,unsigned int readlen);
    UChar* Decrypted3(UChar *data,UChar *key,unsigned int n ,unsigned int readlen);
    UChar* EncryptN(UChar *data, UChar **key, unsigned int n_key,unsigned int readlen);
    UChar* DecryptedN(UChar *data, UChar **key, unsigned int n_key,unsigned int readlen);
private:
int handle_data(unsigned int *left , int choice);
int makedata(unsigned int *left ,unsigned int *right ,unsigned int number);
int makefirstkey( unsigned int *keyP );
int makekey( unsigned int *keyleft,unsigned int *keyright ,unsigned int number);

};

LIBEXPORT_API unsigned char* DesEncrypt(unsigned char *data,unsigned char *key,int readlen);
LIBEXPORT_API unsigned char* DesDecrypted(unsigned char * data,unsigned char *key,int readlen);

#endif
分享到:
评论

相关推荐

    在Java程序中使用JNative调用dll文件

    调用DLL文件的过程通常包括以下几个步骤: 1. **创建DLL**:首先,你需要使用C或C++编写一个DLL文件,其中包含将被Java调用的函数。这些函数需要按照JNI的规范来编写,即使用`JNIEXPORT`和` JNICALL`宏,以及指定...

    简单jnative调用dll例子(含dll代码)

    本教程将通过一个简单的例子来演示如何使用JNI调用DLL动态链接库。 首先,我们需要理解JNI的工作原理。JNI提供了一套接口,使得Java代码可以通过这些接口来调用本地(Native)代码,这里的本地代码可以是C、C++等...

    jnative框架调用dll动态库-简单demo(带dll文件).zip

    本篇文章将详细介绍如何使用jnative框架在Java中调用DLL动态库,并提供一个简单的示例。 首先,理解jnative框架的核心概念。jnative是一个纯Java库,它提供了一种简单的方式来调用C和C++的函数,无需编写JNI头文件...

    java利用jnative调用DLL.txt

    ### Java通过JNative调用DLL的关键知识点 #### JNative简介 JNative是一个强大的Java库,允许Java应用程序直接调用本地动态链接库(DLL)或共享库。它为开发者提供了一个简单而灵活的方式来集成本地代码与Java环境...

    jnative调用动态库

    标题中的“jnative调用动态库”指的是Java中使用JNative库来调用本地(操作系统级别的)动态链接库(DLL或SO文件)的技术。在Java中,为了与操作系统底层功能进行交互,比如调用C/C++编译的库,我们可以使用Java ...

    java调用DLL文件

    以下是使用JNative调用DLL的步骤: 1. **准备DLL文件**:确保你有需要调用的DLL文件,并将其放在Java能够找到的路径下,比如系统的PATH环境变量所包含的目录,或者放在Java类路径下的native库目录。 2. **配置...

    Java调用dll文件开源组件jar包及说明文档

    Java调用DLL文件是软件开发中的常见需求,尤其是在Java与C/C++混合编程时。`JNative-1.3.2`是一个开源组件,专门设计用于帮助Java应用程序调用Windows平台上的DLL(动态链接库)文件,同时也支持Linux平台下的SO...

    java调用DLL:JNative

    通过上述介绍和示例代码可以看出,JNative提供了一种简单而高效的方式来调用DLL文件中的函数。这种方式不仅减少了传统JNI调用所带来的复杂性和潜在问题,而且提高了开发效率。对于需要在Java项目中集成本地系统资源...

    JNA.jar-JNative.jar-dll创建-JAVA调用-VC调用

    `JNative.jar`包含了JNative的实现,`TestJNative.java`是使用JNative调用DLL的示例。 3. **VC++创建DLL**: `CreateDLL.dll`是由Visual C++(VC++)编译生成的动态链接库,通常包含了一些可供其他程序调用的函数...

    YiKaTong.rar_JNative_YiKaTong.r_java jnative dll_jnative api_jna

    《JNative调用DLL进行开发详解》 在Java编程中,有时我们需要调用本地系统库(如DLL文件)来执行特定的功能,这时JNative库就显得尤为重要。JNative是Java平台上的一个开源库,它允许Java程序直接调用C/C++编写的...

    Java调用DLL的工具 JNative

    Java调用DLL的工具JNative是为了解决Java应用程序与本地动态链接库(DLL)交互问题而设计的一个开源组件。在传统的Java开发中,如果需要调用非Java编写的库,比如C或C++编译的DLL,通常会使用JNI(Java Native ...

    Java调用DLL例子

    本示例以"Java调用DLL例子"为主题,使用了JNative库作为接口来实现Java调用本地动态链接库。 JNative是一个开源的Java库,它提供了一种方法使得Java程序能够直接调用C/C++编写的函数,从而间接实现了调用DLL的功能...

    JAVA调用DLL方法 JAVA调用DLL方

    本文将详细介绍如何在Java中调用DLL文件,并探讨几种常见的调用方法。 ### Java调用DLL的基本概念 在Java中调用DLL文件主要通过Java Native Interface (JNI)、JAWINJNative和JNA等技术来实现。这些技术允许Java...

    JNA.jar-JNative.jar-jinvoke.jar-dll创建-JAVA调用-VC调用

    `TestJNative.java`很可能是使用JNative调用DLL的示例代码。 `jinvoke.jar`是另一个相关的库,它可能提供了一种更简便的Java本地调用方式,简化了JNI的使用。`TestJInvoke.java`可能展示了如何使用jinvoke来调用`...

    Java调用DLL源代码

    使用JNative调用DLL的基本流程: 1. **编写JNI头文件**:使用`javah`工具生成JNI头文件,该文件包含了C/C++函数原型,这些函数将作为Java和本地代码之间的桥梁。 2. **编写本地代码**:根据生成的头文件编写C/C++...

    jnative 源码及dll文件

    标题"jnative 源码及dll文件"中提到的"jnative"是一个关键术语,这通常是指一个Java Native Interface(JNI)的实现或扩展。JNI是Java平台的一部分,允许Java代码和其他语言写的代码进行交互。这里的"源码"指的是...

    Java调用Labview生成的DLL文件

    1、Labview生成Dll文件 2、Java通过Jnative第三方Jar包调用Labview生成的DLL文件 3、Java在Windows系统调用Labview生成的Dll的说明 有JNative的使用说明 直接下载,根据使用说明可以直接使用。

    JAVA如何调用dll:用JNI调用C或C++动态联接库

    以下是使用JNative调用DLL的Java代码示例: ```java package com.tvjody; import org.xvolks.jnative.JNative; import org.xvolks.jnative.Type; import org.xvolks.jnative.exceptions.NativeException; public ...

    JNative用java调用动态库VC++

    在`Test`类中,我们通过`System.loadLibrary()`或`JNative`构造函数加载DLL,并指定要调用的函数名。在本例中,我们调用的函数名为`AddZhiYe`。 `JNative`提供了设置返回值类型和参数的方法。在调用`setRetVal()`时...

    JAVA调用动态链接库DLL之JNative学习源码

    本教程将围绕如何使用`JNative`来调用DLL进行深入讲解。 首先,我们要理解Java和DLL之间的交互原理。Java本身不支持直接调用本地库,但通过JNI(Java Native Interface)可以实现这种跨语言调用。JNI提供了一种方式...

Global site tag (gtag.js) - Google Analytics