<dd id="dujzp"><noscript id="dujzp"></noscript></dd>
    <progress id="dujzp"><track id="dujzp"></track></progress>
    1. IT职业教育

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

      027-87807717

      北大青鸟首页 > 热门IT技术教程 > Java技术教程 > > 怎么学好java之使用Native方法扩展Java程序的功能详解

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

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

        怎么学好java是大家想了解的问题。java语言北大青鸟武汉宏鹏鲁广校区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 (c) 2006-2020 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.

      彩图诗句 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>