• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            misschuer

            常用鏈接

            統計

            積分與排名

            百事通

            最新評論

            centos上運行jni

            import java.io.File;
            import java.io.FileOutputStream;
            import java.io.InputStream;
            import java.util.StringTokenizer;


            public class Test {

                public static native void hello();
                    static final String LIBFILENAME = "/home/my/java/libtest.so";

                static {
                    //System.loadLibrary(LIBFILENAME);

                    try {
                        // 獲取到java.library.path  及系統變量中Path中的內容
                        String libpath = System.getProperty("java.library.path");
                        if (libpath == null || libpath.length() == 0) {
                            throw new RuntimeException("java.library.path is null");
                        }
                        //javaBinPath   jdk的bin目錄D:\Program Files\Java\jdk1.6.0_11\bin
                        String javaBinPath = null;
                        StringTokenizer st = new StringTokenizer(libpath,
                                System.getProperty("path.separator"));
                        if (st.hasMoreElements()) {
                            javaBinPath = st.nextToken();
                        } else {
                            throw new RuntimeException("can not split library path:"
                                    + libpath);
                        }
                        // 把dll文件寫入到java.library.path中該dll放在ConvertWord2HM相同目錄下,這個可以是你的類名
                        InputStream inputStream = Test.class.getResourceAsStream(
                                LIBFILENAME);
                        final File dllFile = new File(LIBFILENAME);
                        if (!dllFile.exists()) {
                            FileOutputStream outputStream = new FileOutputStream(dllFile);
                            byte[] array = new byte[1024];
                            int bytesRead = -1;
                            while ((bytesRead = inputStream.read(array)) != -1) {
                                outputStream.write(array, 0, bytesRead);
                            }
                            outputStream.flush();
                            outputStream.close();
                        }  
                        // 動態加載dll
                        System.load(dllFile.getPath());
                        // 在虛擬機關閉的時候刪除dll 這里看著用吧
                        // dllFile.deleteOnExit();
                    } catch (Throwable e) {
                        throw new RuntimeException("load Convert.dll error!", e);
                    }

                }
                public static void main(String[] args) {
                    Test.hello();
                }
            }


            這個文件是在目錄/home/my/java下的
            javac Test.java
            javah Test  //生成Test.h
            然后自己寫Test.cpp
            .java .h .cpp 這些文件名字一定要一樣
            g++ -I$JAVA_HOME/include -I$JAVA_HOME/include/linux -fPIC -shared -o libtest.so Test.cpp  // 轉成你想要的文件 我這里是libtest.so 也可以是libtest.dll, 看你代碼調用什么。
            java Test 就可以運行了
            用System.loadLibrary() 一直加載不了 只能網上找了個加載lib的代碼

            posted on 2015-05-07 17:14 此最相思 閱讀(339) 評論(0)  編輯 收藏 引用 所屬分類: Java

            久久综合给合综合久久| 久久伊人五月天论坛| 色综合合久久天天给综看| 狠狠色婷婷综合天天久久丁香 | 国产69精品久久久久9999APGF| 国产精品成人久久久久久久| 久久精品一区二区三区AV| 国产精品美女久久久久| 欧美性猛交xxxx免费看久久久| 人妻精品久久久久中文字幕69 | 久久精品亚洲中文字幕无码麻豆| 91亚洲国产成人久久精品| 久久精品国产免费观看三人同眠| 韩国三级大全久久网站| 三级三级久久三级久久 | 久久婷婷久久一区二区三区| 久久精品不卡| 97久久久精品综合88久久| 久久久久国产精品人妻| 久久99精品久久久久久秒播| 精品熟女少妇av免费久久| 久久亚洲sm情趣捆绑调教| 久久久精品视频免费观看| 精品久久777| 99久久超碰中文字幕伊人| 国产成人久久精品一区二区三区 | 亚洲精品无码成人片久久| 久久精品国产亚洲7777| 国产精品成人99久久久久91gav| 久久成人国产精品| 久久亚洲欧美国产精品| 亚洲AV无一区二区三区久久| 无遮挡粉嫩小泬久久久久久久| 香蕉99久久国产综合精品宅男自| 久久精品女人天堂AV麻| 久久国产精品二国产精品| 久久99久久成人免费播放| 女同久久| 久久久久亚洲AV无码永不| 97久久超碰国产精品旧版| 精品国产91久久久久久久|