Java中通过JNI调用C函数的的过程

上传人:博****1 文档编号:476672319 上传时间:2022-11-15 格式:DOCX 页数:2 大小:12.25KB
返回 下载 相关 举报
Java中通过JNI调用C函数的的过程_第1页
第1页 / 共2页
Java中通过JNI调用C函数的的过程_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《Java中通过JNI调用C函数的的过程》由会员分享,可在线阅读,更多相关《Java中通过JNI调用C函数的的过程(2页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! Java中通过JNI调用C函数的过程1、 编写Java代码 HelloJNI.Javapublic class HelloJNI /* * param args */本地方法声明native void printHello();native void printString(String str);/加载库static System.loadLibrary(hellojni);public static void main(String args) / TODO Auto-generated method stubHelloJNI myJNI =

2、 new HelloJNI();/调用本地方法myJNI.printHello();myJNI.printString(Hello World from printString fun);2、 编译 HelloJNI.java 生成HelloJNI.classD:UserslusiJNIJNI-2 Javac HelloJNI.java3、 生成C语言头文件 HelloJNI.hD:UserslusiJNIJNI-2 Javah HelloJNI如果程序有包的话要在类的前面加上包名 比如Javah com.pocket.HelloJNI/* DO NOT EDIT THIS FILE - it

3、 is machine generated */#include /* Header for class HelloJNI */#ifndef _Included_HelloJNI#define _Included_HelloJNI#ifdef _cplusplusextern C #endif/* * Class: HelloJNI * Method: printHello * Signature: ()V */JNIEXPORT void JNICALL Java_HelloJNI_printHello (JNIEnv *, jobject);/* * Class: HelloJNI *

4、Method: printString * Signature: (Ljava/lang/String;)V */JNIEXPORT void JNICALL Java_HelloJNI_printString (JNIEnv *, jobject, jstring);#ifdef _cplusplus#endif#endif4、 编写C程序 hellojni.c#include HelloJNI.h#include /添加名称为env与obj的两个参数JNIEXPORT void JNICALL Java_HelloJNI_printHello(JNIEnv *env, jobject ob

5、j) printf(Hello World!n); return;JNIEXPORT void JNICALL Java_HelloJNI_printString(JNIEnv *env, jobject obj, jstring string) const char *str = (*env)-GetStringUTFChars(env, string, 0); printf(%s!n); return;5、 生成C共享库 hellojni.dllD:UserslusiJNIJNI-2 cl -I D:Program FilesJavajdk1.8.0_25include -I DProgram FilesJavajdk1.8.0_25includewin32 -LD jnifunc.cpp -Fejnifunc.dll6、 执行Java程序D:UserslusiJNIJNI-2 java HelloJNI /

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号