`
utopialxw
  • 浏览: 368096 次
  • 性别: 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的头文件
------------------------
悲催呀~~~~~~~~~
分享到:
评论

相关推荐

    JNI调用大全

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

    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 传递字符...

    JNI技术手册 c/c++调用java

    2、 JAVA调用DLL 41 1) 将hello.dll拷贝到Java工程JavaHello下。 41 2) 运行Hello.java,则可以看到输出结果: 41 1) 将Hello.c改为Hello.cpp 41 2) 将makefile内容改为: 41 3) 其他的几乎都不用改变也可以。 42 ...

    JNI文档资料源码_2020_01_22

    【Android NDK 开发】Visual Studio 2019 使用 CMake 开发 JNI 动态库 ( 动态库编译配置 | JNI 头文件导入 | JNI 方法命名规范 ) 博客地址 : https://hanshuliang.blog.csdn.net/article/details/104068609 博客...

    JNtiva相关jar

    先说下JAVA调用DLL,Java调用DLL的常用方法大致为几种,JNI,JNA,Jnative等,但实现与易用性差距还是很大,1.JNI用的人比较多,但相对来说比较麻烦要熟悉c并且要使用javac 及javah命令,步骤繁琐2.JNA,Jnative相对...

    keccak-jni:使用 keccak sha3 计算作为 JNI 调用来赢得 64 位 DLL

    创建 javah 桥javah -d ./jni -cp ./src/main keccak.KeccakJNI 实现 keccak_KeccakJNI.c 设置编译环境设置 gcc_run=C:\mingw-w64\mingw64\bin\gcc.exe 设置路径=%PATH%;C:\mingw-w64\i686-4.9.2-posix-dwarf-rt_v4-...

    java获取当前windows进程pid

    编译命令中 "-PidTool.dll" 改为 "-FePidTool.dll",我整漏了! 使用方法: 1.javac PidTool.java 2.javah -jni PidTool ,生成.h头文件 3.编写.c文件实现函数功能 4. cl PidTool.c -FePidTool.dll -LD -I"D:\...

    JNI应用实例(java、C++互调)

    实例1: 1)使用javah 生成.h文件 2)根据.h文件,编写.cpp源程序。 实例2: 1)演示了java调用c++,以及c++调用java。 2)java 与 c++ 间,通过复杂数据类型(Vector)作为参数来传递数据。

    lsn6_JNI的简单调用

    编写native 方法 复制.h 头文件到cpp 工程 实现.h 头文件中的声明函数 生成一个dll 动态库文件 在java中加载动态库

    word源码java-jniwebshell:jniwebshel​​l

    java技术栈中的jni的原理是使用java调用c、c++函数,具体实现的思路是jsp编译为class文件,该class通过jni技术调用另外一处dll来执行命令函数绕过黑名单执行命令获取回显,即可实现rasp和安全防护软件的绕过。...

Global site tag (gtag.js) - Google Analytics