当前位置: 首页 > news >正文

宿迁市网站建设_网站建设公司_搜索功能_seo优化

网站页面权重,天津网站建设业务,申报城市维护建设税上哪个网站,系统维护一般要多久JNI入门教程之HelloWorld篇来源:互联网 宽屏版 评论2008-05-31 09:07:11本文讲述如何使用JNI技术实现HelloWorld#xff0c;目的是让读者熟悉JNI的机制并编写第一个HelloWorld程序。java Native Interface(JNI)是Java语言的本地编程接口#xff0c;是J2SDK的一部分。在java…JNI入门教程之HelloWorld篇来源:互联网  宽屏版  评论2008-05-31 09:07:11本文讲述如何使用JNI技术实现HelloWorld目的是让读者熟悉JNI的机制并编写第一个HelloWorld程序。java Native Interface(JNI)是Java语言的本地编程接口是J2SDK的一部分。在java程序中我们可以通过JNI实现一些用java语言不便实现的功能。通常有以下几种情况我们需要使用JNI来实现。标准的java类库没有提供你的应用程序所需要的功能通常这些功能是平台相关的你希望使用一些已经有的类库或者应用程序而他们并非用java语言编写的程序的某些部分对速度要求比较苛刻你选择用汇编或者c语言来实现并在java语言中调用他们在《java核心技术》中作者提到JNI的时候建议不到万不得已不要使用JNI技术一方面它需要你把握更多的知识才可以驾驭一方面使用了JNI你的程序就会丧失可移植性。在本文我们跳过JNI的底层机制读者最好先把它想象为本地代码和java代码的粘合剂。关系如下图所示下面我们开始编写HelloWorld程序由于涉及到要编写c/c代码因此我们会在开发中使用Microsoft VC工具。编写java代码我们在硬盘上建立一个hello目录作为我们的工作目录首先我们需要编写自己的java代码在java代码中我们会声明native方法代码非常简单。如下所示class HelloWorld{public native void displayHelloWorld();static {System.loadLibrary(hello);}public static void main(String[] args) {new HelloWorld().displayHelloWorld();}}注重我们的displayHelloWorld()方法的声明它有一个要害字native表明这个方法使用java以外的语言实现。方法不包括实现因为我们要用c/c语言实现它。注重System.loadLibrary(hello)这句代码它是在静态初始化块中定义的系统用来装载hello共享库这就是我们在后面生成的hello.dll(假如在其他的操作系统可能是其他的形式比如hello.so)编译java代码javac HelloWorld.java 生成HelloWorld.class文件创建.h文件这一步中我们要使用javah命令生成.h文件这个文件要在后面的c/c代码中用到我们运行javah HelloWorld。这样我们可以看到在相同目录下生成了一个HelloWorld.h文件文件内容如下在此我们不对他进行太多的解释。/* DO NOT EDIT THIS FILE - it is machine generated */#include /* Header for class HelloWorld */#ifndef _Included_HelloWorld#define _Included_HelloWorld#ifdef __cplusplusextern C {#endif/** Class: HelloWorld* Method: displayHelloWorld* Signature: ()V*/JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *, jobject);#ifdef __cplusplus}#endif#endif编写本地实现代码在这部分我们要用C/C语言实现java中定义的方法我们在VC中新建一个PRoject,然后创建一个HelloWorldImp.cpp文件内容如下#include #include HelloWorld.h#include JNIEXPORT void JNICALLJava_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj){printf(Hello world!\n);return;}注重我们这里include了 jni.h和刚才得到的HelloWorld.h文件。因此你要在VC里面设置好jni.h在JAVA_HOME/include里面。编译通过后再生成hello.dll文件。运行java程序把上面生成的hello.dll文件复制到我们的工作目录这时候我们的目录中包括HelloWorld.javaHelloWorld.class和hello.dll文件。运行java HelloWorld命令则可在控制台看到Hello world的输出了。本文讲述如何使用JNI技术实现HelloWorld目的是让读者熟悉JNI的机制并编写第一个HelloWorld程序。java Native Interface(JNI)是Java语言的本地编程接口是J2SDK的一部分。在java程序中我们可以通过JNI实现一些用java语言不便实现的功能。通常有以下几种情况我们需要使用JNI来实现。标准的java类库没有提供你的应用程序所需要的功能通常这些功能是平台相关的你希望使用一些已经有的类库或者应用程序而他们并非用java语言编写的程序的某些部分对速度要求比较苛刻你选择用汇编或者c语言来实现并在java语言中调用他们在《java核心技术》中作者提到JNI的时候建议不到万不得已不要使用JNI技术一方面它需要你把握更多的知识才可以驾驭一方面使用了JNI你的程序就会丧失可移植性。在本文我们跳过JNI的底层机制读者最好先把它想象为本地代码和java代码的粘合剂。关系如下图所示[urlhttp://www.wangchao.net.cn/bbsdetail_1754615.html][img]http://image.wangchao.net.cn/it/1323524774693.gif[/img][/url]下面我们开始编写HelloWorld程序由于涉及到要编写c/c代码因此我们会在开发中使用Microsoft VC工具。编写java代码我们在硬盘上建立一个hello目录作为我们的工作目录首先我们需要编写自己的java代码在java代码中我们会声明native方法代码非常简单。如下所示class HelloWorld{public native void displayHelloWorld();static {System.loadLibrary(hello);}public static void main(String[] args) {new HelloWorld().displayHelloWorld();}}注重我们的displayHelloWorld()方法的声明它有一个要害字native表明这个方法使用java以外的语言实现。方法不包括实现因为我们要用c/c语言实现它。注重System.loadLibrary(hello)这句代码它是在静态初始化块中定义的系统用来装载hello共享库这就是我们在后面生成的hello.dll(假如在其他的操作系统可能是其他的形式比如hello.so)编译java代码javac HelloWorld.java 生成HelloWorld.class文件创建.h文件这一步中我们要使用javah命令生成.h文件这个文件要在后面的c/c代码中用到我们运行javah HelloWorld。这样我们可以看到在相同目录下生成了一个HelloWorld.h文件文件内容如下在此我们不对他进行太多的解释。/* DO NOT EDIT THIS FILE - it is machine generated */#include /* Header for class HelloWorld */#ifndef _Included_HelloWorld#define _Included_HelloWorld#ifdef __cplusplusextern C {#endif/** Class: HelloWorld* Method: displayHelloWorld* Signature: ()V*/JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *, jobject);#ifdef __cplusplus}#endif#endif编写本地实现代码在这部分我们要用C/C语言实现java中定义的方法我们在VC中新建一个PRoject,然后创建一个HelloWorldImp.cpp文件内容如下#include #include HelloWorld.h#include JNIEXPORT void JNICALLJava_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj){printf(Hello world!\n);return;}注重我们这里include了 jni.h和刚才得到的HelloWorld.h文件。因此你要在VC里面设置好jni.h在JAVA_HOME/include里面。编译通过后再生成hello.dll文件。运行java程序把上面生成的hello.dll文件复制到我们的工作目录这时候我们的目录中包括HelloWorld.javaHelloWorld.class和hello.dll文件。运行java HelloWorld命令则可在控制台看到Hello world的输出了。
http://www.lebaoying.cn/news/98513.html

相关文章:

  • wordpress app开发seo交流中心
  • server2008网站建设河津失信被执行人名单查询
  • 简述网站开发主要步骤江阴网站建设培训
  • 做网站可以用ai做免费的个人网页
  • 百度站长工具链接提交上海金工建设集团有限公司网站
  • 网站开发文件夹来个网站2021能用的
  • 校园加盟网站建设公司接软件开发平台
  • 网站建设模板免费下载长治网站制作公司
  • 网站访问慢的原因做电商必备的八个软件
  • 网站获取客户信息需要备案吗网上报建贵州建设局网站
  • 网站排名优化需要多久成都设计公司上市
  • 网站轮播代码专业装修别墅
  • 网站开发策划个人简历贸易网站建设网
  • 品牌推广经典案例搜索关键词排名优化技术
  • 搜索引擎网站优化推广大连网络建站模板
  • 上海鹭城建设集团网站学校网站建设项目可行性分析
  • 中元建设网站php网站开发源码
  • 重庆手机网站建设广东手机网站开发多少
  • 网站建设不能持续消费网站建设中最重要的是什么
  • 做商贸生意的人都去什么网站泰安市大众人才网
  • 网站制作公司官网首页学广告设计要学什么软件
  • 网站弹窗公告代码建设网站培训
  • 网站常用模块wordpress 搬家 子页面无法访问
  • 青木三色品牌商城网站开发做模特网站
  • 一起做网站17怎么下单wordpress适合下载站的主题
  • 好建设网站河北邢台解封了吗
  • 有哪些做app的网站产地证在什么网站做
  • 教育加盟网站建设山东化工人才网临淄招聘信息
  • 北京网站建设手机app电子商务软文网站发布平台
  • 网站后台网址在哪输入广东深圳有几个区