<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java學習

    java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

     

    Java入門--認識理解Java中native方法

      Java不是完美的,Java的不足除了體現在運行速度上要比傳統的C++慢許多之外,Java無法直接訪問到操作系統底層(如系統硬件等),為此Java使用native方法來擴展Java程序的功能。

    可以將native方法比作Java程序同C程序的接口,其實現步驟:

    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存放的路徑]

    posted on 2009-10-14 16:58 找個美女做老婆 閱讀(617) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    公告

    本blog已經搬到新家了, 新家:www.javaly.cn
     http://www.javaly.cn

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 人禽杂交18禁网站免费| 国产啪精品视频网站免费尤物| 1区2区3区产品乱码免费| 亚洲AV无一区二区三区久久| A国产一区二区免费入口| 亚洲精品无码专区2| 国产成人高清精品免费观看| 亚洲永久无码3D动漫一区| 国产精品免费αv视频| 亚洲最大AV网站在线观看| 久久嫩草影院免费看夜色| 亚洲日本va在线视频观看| 99久久免费国产特黄| 亚洲AV综合色区无码一区| 91精品国产免费入口| 亚洲国产精品张柏芝在线观看| 免费精品国产日韩热久久| 456亚洲人成在线播放网站| 日韩免费毛片视频| 四虎影视在线看免费观看| 亚洲乱码无码永久不卡在线| 久久大香香蕉国产免费网站| 亚洲av乱码一区二区三区| 日韩免费a级在线观看| jizz在线免费观看| 91大神亚洲影视在线| 妞干网在线免费视频| 国产精品99爱免费视频| 久久99亚洲网美利坚合众国| 成人免费一级毛片在线播放视频 | 亚洲AV无码一区二区三区人| 成年大片免费视频| 一级特黄a免费大片| 老司机亚洲精品影院| 麻豆国产人免费人成免费视频 | 两性刺激生活片免费视频| 亚洲av无码片vr一区二区三区 | 在线亚洲97se亚洲综合在线| 51精品视频免费国产专区| 久久亚洲精品无码gv| 亚洲AV乱码久久精品蜜桃|