• <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 此最相思 閱讀(342) 評論(0)  編輯 收藏 引用 所屬分類: Java

            情人伊人久久综合亚洲| 久久精品国产99国产精品导航| 无码AV波多野结衣久久| 伊人久久大香线蕉AV色婷婷色| 国产情侣久久久久aⅴ免费| 免费国产99久久久香蕉| 狠狠精品干练久久久无码中文字幕| 久久99精品久久久久久野外| 狠狠色婷婷久久综合频道日韩 | 精品久久国产一区二区三区香蕉| 97超级碰碰碰碰久久久久| 久久一区二区免费播放| 久久精品无码一区二区无码| 久久一区二区三区99| 狠狠久久亚洲欧美专区| 狠狠精品久久久无码中文字幕| 久久久91精品国产一区二区三区 | 久久天天躁狠狠躁夜夜96流白浆| 久久精品这里热有精品| 日产精品久久久久久久| 性高湖久久久久久久久AAAAA| 久久久精品国产sm调教网站| 伊人久久大香线蕉成人| 久久精品国产一区二区三区 | 久久免费小视频| 久久丫精品国产亚洲av| 久久午夜福利无码1000合集| 久久九九免费高清视频| 久久99中文字幕久久| 精品久久久噜噜噜久久久| 色欲久久久天天天综合网| 青青草原综合久久大伊人| 久久久99精品成人片中文字幕 | 精品久久久久久中文字幕大豆网 | 久久精品无码专区免费东京热| 久久精品中文字幕大胸| 亚洲AⅤ优女AV综合久久久| 久久精品二区| 色狠狠久久综合网| 亚洲天堂久久久| 久久久久人妻一区二区三区 |