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

开博第一篇:JNI调用dll中javah命令的使用

阅读更多
为什么开博~~大家都懂的~~
------------------------
在使用JNI调用dll的时候需要生成一个头文件,然后根据这个头文件重新实现dll。关键在这个头文件怎么生成。先使用javac命令 编译java文件,然后使用javah命令生成头文件。问题在第二步:使用javah命令总是出错,网上找了N多答案,什么修改环境变量,什么什么的,找了很多。照样解决不了。后来找到答案~~郁闷死了:
------------------------
新建的工程路径为:D:\workspace\dllTest
java文件是在src文件夹中,然后再工程里面新建包com.lxw
而java文件的路径就是D:\workspace\dllTest\src\com\lxw\DllTest.java
这里看着没错,其实我建议java文件的路径应该是:D:\workspace\dllTest\src\com.lxw.DllTest.java
注意包和文件夹的区别~~~~
因为首先DOS下进入D:\workspace\dllTest\src\com\lxw\
使用命令javac DllTest.java
则在D:\workspace\dllTest\src\com\lxw\
下面生成文件 DllTest.class
下面的命令是重点:
cd..
cd..
javah -classpath . -jni com.lxw.DllTest

两个cd..是为了进入到src目录下,然后执行javah命令,其中.前后都有空格~~
然后会在src目录下生成com_lxw_DllTest.h的头文件
------------------------
悲催呀~~~~~~~~~
分享到:
评论

相关推荐

    Java JNI调用DLL方法

    总结起来,Java JNI调用DLL主要涉及以下步骤: 1. 定义Java本地方法。 2. 使用`javah`生成C/C++头文件。 3. 在VC项目中实现头文件中的函数,引入必要的库和头文件。 4. 编译生成DLL库。 5. 设置Java的`java.library....

    JAVA JNI调用DLL完整步骤

    总结,Java调用DLL的完整步骤包括:定义Java的`native`方法,使用`javah`生成头文件,编写C/C++ DLL代码,编译DLL,最后在Java程序中调用。这个过程可能需要对JNI规范有深入理解,以及一定的C/C++编程基础。通过熟练...

    JAVA通过JNI调用C#dll的整个项目工程

    Java通过JNI调用C# DLL是一个跨平台、跨语言的技术实践,主要应用于需要利用Java的稳定性和C#的高性能场景。JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。C# ...

    Java通过JNI调用C++的DLL文件.docx

    JNI 将 Java 应用程序与 C++ DLL 文件集成需要以下步骤:创建一个 Java 工程,生成 `.class` 文件,使用 `javah` 命令生成 `.h` 头文件,创建一个 C++ 工程,并将生成的 `.h` 头文件复制到工程中,编写 C++ 代码,并...

    JAVA如何调用dll:用JNI调用C或C++动态联接库原来如此简单

    下面将详细介绍如何使用JNI来调用DLL,并解释相关知识点。 1. **JNI简介** JNI是Java平台的标准部分,提供了一组接口,使得Java代码能够调用本地代码(如C和C++),反之亦然。JNI接口包括了各种函数,让开发者可以...

    在windows中jni(生成dll)Linux中jni(生成so),java调用曾c++

    在本主题中,我们将深入探讨如何在Windows和Linux环境中利用JNI来生成动态链接库(DLL for Windows,SO for Linux),并使Java能够调用C++编写的函数。 1. **Java调用C++的基本原理** - JNI为Java应用程序提供了一...

    java运用jni调用dll实现屏蔽系统热键和任务栏

    Java使用JNI调用DLL来实现系统热键屏蔽与任务栏隐藏是一种跨平台编程技术的应用,主要涉及Java的本地接口(JNI)和Windows API。本文将深入解析这一技术的关键点,并提供相关的知识背景。 首先,JNI(Java Native ...

    jni调用第三方dll最简单的实例

    总结来说,这个实例展示了如何使用JNI调用第三方DLL的基本步骤:在Java中声明native方法,生成JNI头文件,实现C/C++代码并调用DLL函数,最后编译生成本地库。虽然这是一个简单的例子,但理解这些基本概念对于深入...

    JNI DEMO:java jni技术 调用 c/c++ 的dll

    JNI(Java Native Interface)是Java平台的标准组成部分,它允许Java代码和其他语言写的代码进行交互。...对于初学者,这是一个很好的实践教程,即使没有Java背景,也能通过提供的步骤理解和实践JNI调用DLL的过程。

    jni调用c++ delphi中的dll.

    JNI(Java Native Interface)是Java平台提供的一种标准接口,用于在Java...通过以上步骤,你就可以成功地在Java程序中通过JNI调用C++和Delphi编写的DLL函数了。这在需要利用现有本地库或执行低级操作的场合非常有用。

    j2ee通过jni调用dll

    在"j2ee通过jni调用dll"的场景中,Java应用服务器(如Tomcat、WebLogic等)运行J2EE应用程序时,可以通过JNI接口调用一个DLL。这通常发生在以下情况:需要利用操作系统提供的低级别功能,如文件I/O、硬件控制或者...

    Java JNI调用IC卡读卡器

    在Java中,JNI调用DLL的过程主要包括以下步骤: 1. 创建Java接口:首先,你需要在Java源文件中定义一个接口,这个接口会声明所有你需要调用的DLL函数。这些函数声明的签名必须与DLL中实际函数的参数和返回类型完全...

    java使用JNI调用C++ dll库用法概述

    Java使用JNI(Java Native Interface)调用C++ DLL库是一种常见的技术,特别是在需要利用Java的跨平台特性同时利用C++的高效性能时。JNI提供了一种桥梁,使得Java代码能够直接与本地代码交互,比如C++编译的动态链接...

    JNI调用大全

    Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 Chap 3:javah命令帮助信息......Chap 4:用javah产生一个...Chap5:使用JNI技术实现java程序调用第三方dll(c/c++)文件的功能... 47 Chap9:如何编写jni方法(转载)... 55

    visual studio 2019下C++通过JNI调用JAVA代码

    在本文中,我们将深入探讨如何在Visual Studio 2019环境下使用C++通过Java Native Interface (JNI)来调用Java代码。JNI是Java平台的一部分,它为Java应用程序提供了与本地代码交互的能力,使得开发者可以将Java应用...

    使用JNI调用本地接口(解决中文字符传递,源码+说明)

    最后,`使用JNI调用本地接口.doc`可能是详细的步骤文档,而`JavaUseDll`可能是一个Java示例程序,演示如何在Java代码中调用本地接口并传递中文字符串。运行这个程序,你可以看到JNI成功地处理了中文字符的传递。 ...

    JNI完全技术手册 带完整书签

    Chap1:JNI完全手册... 3 Chap2:JNI-百度百科... 11 Chap 3:javah命令帮助信息... 16 Chap 4:用javah产生一个.h文件... 17 Chap5:jni教程(very very good) 19 Chap6: JNI传递返回值... 26 15.2.2.3 传递字符...

    GMSSL的java调用(JNI库和调用实例).zip

    在Java中,通过JNI调用GMSSL库,我们可以实现SM2的加密和解密操作,以及生成和验证数字签名。 2. **SM3算法**:这是一款密码学安全的哈希函数,类似于SHA-256,但为满足我国的密码政策需求而设计。使用JNI,Java...

    JNI实例 Java调用DLL c++调用Java

    总之,JNI实例“Java调用DLL c++调用Java”是一个实用的学习资源,它详细解释了如何利用JNI进行Java与C++的交互,无论是将本地库引入Java程序还是将Java功能嵌入C++应用。通过实践这些例子,开发者能够深入理解JNI的...

    使用JNI调用本地接口(解决中文问题)

    用 JNI 调用本地接口 作 ...3. 注意在C/C++中使用宽字符函数,如`wprintf`,以正确处理Unicode字符串。 通过这些步骤和技巧,我们可以成功地在Java中通过JNI调用本地接口,同时处理中文字符串,实现跨语言的高效通信。

Global site tag (gtag.js) - Google Analytics