时时彩一天赚200元方法 www.y2at3.com.cn IT职业教育

华中地区北大青鸟校区IT集训营

027-87807717

时时彩一天赚200元方法 > 热门IT技术教程 > Java技术教程 > > 怎么学好java之使用Native方法扩展Java程序的功能详解

怎么学好java之使用Native方法扩展Java程序的功能详解

时间:2012-05-25 10:45 来源:北大青鸟武汉宏鹏鲁广校区作者:027hpedu
导读:怎么学好java是大家想了解的问题 。java语言北大青鸟武汉宏鹏鲁广校区ACCP课程中的基础语言,目前在软件开发中也是用得广的语言。那么,怎么学好java?我们就从使用Native方法扩展

  怎么学好java是大家想了解的问题。java语言时时彩一天赚200元方法武汉宏鹏鲁广校区ACCP课程中的基础语言,目前在软件开发中也是用得较广的语言。那么,怎么学好java?我们就从使用Native方法扩展Java程序的功能详解中讲解吧!  

  1、在Java中声明native()方法,然后编译;

  2、用javah产生一个.h文件;

  3、写一个.cpp文件实现native导出方法,其中需要包含第二步产生的.h文件(注意其中又包含了JDK带的jni.h文件);

  4、将第三步的.cpp文件编译成动态链接库文件;

  5、在Java中用System.loadLibrary()方法加载第四步产生的动态链接库文件,这个native()方法就可以在Java中被访问了。

  JAVA本地方法适用的情况

  1.为了使用底层的主机平台的某个特性,而这个特性不能通过JAVA API访问

  2.为了访问一个老的系统或者使用一个已有的库,而这个系统或这个库不是用JAVA编写的

  3.为了加快程序的性能,而将一段时间敏感的代码作为本地方法实现。

  先写好JAVA文件

  /*

  * Created on 2005-12-19 Author shaoqi

  */

  package com.hode.hodeframework.modelupdate;

  public class CheckFile

  {

  public native void displayHelloWorld();

  static

  {

  System.loadLibrary("test");

  }

  public static void main(String[] args) {

  new CheckFile().displayHelloWorld();

  }

  }

  然后根据写好的文件编译成CLASS文件,然后在classes或bin之类的class根目录下执行javah -jni com.hode.hodeframework.modelupdate.CheckFile,就会在根目录下得到一个com_hode_hodeframework_modelupdate_CheckFile.h的文件,然后根据头文件的内容编写com_hode_hodeframework_modelupdate_CheckFile.c文件.

  #include "CheckFile.h"

  #include

  #include

  JNIEXPORT void JNICALL Java_com_hode_hodeframework_modelupdate_CheckFile_displayHelloWorld(

  JNIEnv *env, jobject obj)

  {

  printf("Hello world!\n");

  return;

  }

  之后编译生成DLL文件如“test.dll”,名称与System.loadLibrary("test")中的名称一致 vc的编译方法:

  cl -I%java_home%\include -I%java_home%\include\win32 -LD com_hode_hodeframework_modelupdate_CheckFile.c -Fetest.dll

  后在运行时加参数-Djava.library.path=[dll存放的路径]

    怎么学好java之使用Native方法扩展Java程序的功能详解让大家能够正确认识java,通过学习java实现高质量的软件开发。北大青鸟武汉宏鹏鲁广校区作为一家专业的IT职业教育学校,学好技术能帮大家成为高质量的IT人才!

相关文章

告诉我们,你现在想了解什么?

精彩专题——96%的同学看到这里都会点击下面的专题

Copyright ? 2006-2016 武汉北大青鸟鲁广校区(武汉宏鹏教育咨询有限公司) 版权所有鄂ICP备11006561号 CacheTime:2018-12-12 19:56:57 CacheID:715

鄂公网安备 42011102000412号

  • 您要明白的是,如果按照上海市的人口基数2500万计算的话,就算有100万的服务人员,平均每人也要保障25个人的预约服务.人要理性 2018-12-16
  • 王秀英受邪教全能神蛊惑离家出走 家人盼归 2018-12-16
  • 滴滴在江门属非法网约车 交通部门6次约谈未获进展 2018-12-15
  • 上交所发布试点创新企业股票或CDR上市交易实施办法 2018-12-15
  • 水乡“大花园”迎来投资热 2018-12-15
  • 这条百元级的牛仔裙,竟匹配了我衣橱里的所有单品 2018-12-15
  • 晋中市直机关将开展纪念建党97周年“红色+”系列活动 2018-12-14
  • 点击天山网 掌握全新疆 2018-12-14
  • 球迷高速公路停车看球 交警护送下高速 2018-12-14
  • 江苏破获偷排危化品船舶洗舱水污染环境案:犯罪嫌疑人陆续归案 2018-12-13
  • 西安上线“垃圾银行3.0” 它比烟头革命更可能成功! 2018-12-13
  • 中央军委印发《传承红色基因实施纲要》 2018-12-12
  • 紧盯节点,打赢反“四风”持久战(前沿观察) 2018-12-12
  • 德味手表了解一下 徕卡推出L1,L2机械表德味手表徕卡推出L1-手机行情 2018-12-12
  • 汪峰章子怡带女儿醒醒看马戏表演 满脸幸福 2018-12-11
  • 79| 312| 87| 210| 631| 212| 762| 152| 108| 569|