JAVA如何调用C或者C生成的dll.doc

JAVA如何调用C或者C生成的dll.doc

ID:62033596

大小:199.00 KB

页数:6页

时间:2021-04-15

JAVA如何调用C或者C生成的dll.doc_第1页
JAVA如何调用C或者C生成的dll.doc_第2页
JAVA如何调用C或者C生成的dll.doc_第3页
JAVA如何调用C或者C生成的dll.doc_第4页
JAVA如何调用C或者C生成的dll.doc_第5页
资源描述:

《JAVA如何调用C或者C生成的dll.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JAVA如何调用C或者C++生成的dll本文为在32位 Windows平台上实现 Java本地方法调用dll的示例。由于对C语言不是很熟悉,有部分内容摘自网络。第一步、编写java文件package com。ztsoft。jni;publicclassMyDll{static{System.loadLibrary("MyDll”);}ﻩpublicnativestatic String HelloWord();ﻩpublicnativestaticStringHelloWord(int num);}第二步、编译生成h文件1、编译D:\MyEclipse 6.5M1 Blueworkspa

2、cejavaWorkSpacesrc〉javaccom/ztsoft/jni/MyDll.java(生成MyDll。class位于jni目录下)2、生成h文件D:MyEclipse6.5M1BlueworkspacejavaWorkSpacesrc>javahcom.ztsoft.jni。MyDll(生成com_ztsoft_jni_MyDll.h这个文件位于src目录下)/*DONOTEDITTHISFILE -itismachine generated*/#include〈jni。h>/*Header for classcom_ztsoft_jni_MyDll*/#ifnd

3、ef _Included_com_ztsoft_jni_MyDll#define _Included_com_ztsoft_jni_MyDll#ifdef__cplusplusextern"C" {#endif/* * Class: com_ztsoft_jni_MyDll *Method:HelloWord* Signature:()Ljava/lang/String;*/JNIEXPORTjstring JNICALLJava_com_ztsoft_jni_MyDll_HelloWord__(JNIEnv *, jclass);/** Class: com_ztsoft_jni_MyD

4、ll *Method:  HelloWord *Signature:(I)Ljava/lang/String;*/JNIEXPORTjstringJNICALLJava_com_ztsoft_jni_MyDll_HelloWord__I (JNIEnv*,jclass,jint);#ifdef__cplusplus}#endif#endif第三步、编写C++文件在具体实现的时候,我们只关心两个函数原型。JNIEXPORTjstringJNICALLJava_com_ztsoft_jni_MyDll_HelloWord__ (JNIEnv*, jclass);JNIEXPORTjstring

5、JNICALLJava_com_ztsoft_jni_MyDll_HelloWord__I(JNIEnv*, jclass, jint);以下我用的是vs2005编写c程序。1、选择VisualC++ —>Win32—〉Win32项目(填写项目名称等)点击确定.这一步选择DLL,勾选空项目,点击完成。ﻫ然后右击右侧的源文件,添加新相然后再将com_ztsoft_jni_MyDll。h文件添加到C++的头文件中(先拷贝到工程下,然后在引入现有项)然后拷贝原函数到MyDll.cpp文件中#include"com_ztsoft_jni_MyDll.h"JNIEXPORTjstringJNICAL

6、LJava_com_ztsoft_jni_MyDll_HelloWord__(JNIEnv *,jclass){ﻩ}JNIEXPORTjstringJNICALLJava_com_ztsoft_jni_MyDll_HelloWord__I(JNIEnv*, jclass, jint){ﻩ}注意:一定要把JDK中的include文件夹中(和它下面的win32)的几个头文件拷贝到C++工程文件夹中。然后引入。否则编译的时候出现类似的错误根据头文件的路径,修改com_ztsoft_jni_MyDll.h修改jni_md。h文件的引入根据实际情况,修改MyDll.cpp文件.第四步、编译生成DLL

7、选择build-〉rebuild all对所写的程序进行编译。点击build—>build MyDll。DLL生成DLL文件。位于debug目录下,将它放置你的jdk的bin目录,或者system32下.然后编写main方法测试即可。/***测试dll方法* @paramargs */publicstaticvoidmain(String[]args){ﻩSystem。out.println(MyDll.HelloWor

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。