<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 找個美女做老婆 閱讀(608) 評論(0)  編輯  收藏


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


    網站導航:
     

    導航

    統計

    公告

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

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 99re6在线精品免费观看| 国产区图片区小说区亚洲区| 国产做国产爱免费视频| 日韩精品成人亚洲专区| 精品成人一区二区三区免费视频| 精品国产免费观看一区| 噜噜综合亚洲AV中文无码| 欧洲美熟女乱又伦免费视频| 亚洲精品无码专区久久| 国产又粗又猛又爽又黄的免费视频| 亚洲国产一区二区三区在线观看| 成年性生交大片免费看| 亚洲AV香蕉一区区二区三区| 国产免费av一区二区三区| 国产精品亚洲二区在线| 国产精品亚洲美女久久久 | 91亚洲视频在线观看| 999久久久免费精品国产| 久久亚洲最大成人网4438| 最近中文字幕免费mv视频7| 国产精品亚洲专区无码唯爱网| 全黄性性激高免费视频| 在线免费视频你懂的| 久久综合日韩亚洲精品色| 美女被免费喷白浆视频| 亚洲AV无码专区在线电影成人| 精品亚洲成α人无码成α在线观看| 最近中文字幕大全免费版在线| 亚洲另类春色校园小说| 免费A级毛片在线播放不收费| 一区二区3区免费视频| 久久亚洲日韩精品一区二区三区| 97在线视频免费播放| 亚洲国产精品成人AV在线| 亚洲人成伊人成综合网久久久| 久久久久久久免费视频| 日韩成人毛片高清视频免费看| 亚洲成a人片在线观看中文动漫| 成人毛片免费在线观看| a级毛片毛片免费观看久潮| 亚洲av永久无码嘿嘿嘿|