青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

熱轉印www.yxheatpress.com

公司網站模板http://qiyemoban.software8.co/

常用鏈接

統計

友情鏈接

最新評論

JNA 調用 so 庫

最近自己寫的一個廣告發布平臺要遷移到Linux平臺上,由于之前用的是windows平臺的dll文件,現在要改用.so。講下如何在Linux下面調用.so。

在linx下使用jna調用本地方法的時候,需要將C寫成的程序編譯為so文件

1、寫一個簡單test.c文件:

  1. #include<stdio.h>  
  2. int add(int a,int b);  
  3. int add(int a,int b)  
  4. {  
  5.       int c = a + b ;  
  6.       return c ;  
  7. }   

2、編譯為so動態鏈接庫:
  1. gcc -fpic -c test.c  
  2.   
  3. gcc -shared -o libtest.so test.o  
  4.   
  5. ls看一下生成的文件:  
  6.   
  7. libtest.so test.c test.o  

這樣就會生成so文件了。 這里為什么要命名為libtest.so而不是test.so呢?因為jna在找so文件的時候,要匹配前綴為lib的so文件

3、接下來開始寫java文件(需要下載jna.jar),我們寫一個TestSo.java:

  1. import com.sun.jna.Library;  
  2. import com.sun.jna.Native;  
  3. public class TestSo {  
  4. public interface LgetLib extends Library {  
  5. // 調用linux下面的so文件,注意,這里只要寫test就可以了,不要寫libtest,也不要加后綴  
  6. LgetLib INSTANCE = (LgetLib) Native.loadLibrary("test",LgetLib.class);  
  7. int add(int a,int b);  
  8. }  
  9. public int add(int a,int b){  
  10. return LgetLib.INSTANCE.add(a,b);  
  11. }  
  12. public static void main(String[] args) {  
  13. TestSo ts = new TestSo();  
  14. int c = ts.add(10,20);  
  15. System.out.println("10+20="+c);  
  16. }  
  17. }  
4、 接下來進行編譯:

  1. export CLASSPATH=$CLASSPATP:./jna.jar                         //這里是設置環境變量  
  2.   
  3. javac TestSo.java  

這里直接運行TestSo的話:

  1. java TestSo  
  2. Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'test': libtest.so: cannot open shared object file: No such file or directory  
  3. at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:163)  
  4. at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:236)  
  5. at com.sun.jna.Library$Handler.<init>(Library.java:140)  
  6. at com.sun.jna.Native.loadLibrary(Native.java:379)  
  7. at com.sun.jna.Native.loadLibrary(Native.java:364)  
  8. at TestSo$LgetLib.<clinit>(TestSo.java:7)  
  9. at TestSo.add(TestSo.java:11)  
  10.   at TestSo.main(TestSo.java:15)  

這個錯誤是指找不到so文件。于是我們將so文件所在的目錄設置到環境變量LD_LIBRARY_PATH中:

vim /etc/profile

在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC下面加入

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${你的so目錄}

之后,你可以檢查一下設置的起沒起效果:echo $LD_LIBRARY_PATH,如果出現你設置的內容就對了,如果沒有,你可以重新打開一個窗口再查一下

設置好環境變量之后,你就可以運行java類了:

java TestSo
10+20=30

到此運行成功。

如果你遇到了緊急的情事,而這個地方又搞不定,你可以暫時交so文件放到/usr/lib這個目錄下面,一般是可以使程序運行的。

posted on 2012-10-16 17:34 不聽話的 閱讀(1411) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久成年人视频| 久久久久久有精品国产| 亚洲国产一区二区三区高清| 欧美在线播放高清精品| 国产在线不卡| 欧美成人小视频| 免费成人黄色av| 一区二区日本视频| 亚洲一区二区三区高清不卡| 国产午夜精品全部视频在线播放 | 久久精品国语| 尤物yw午夜国产精品视频| 女生裸体视频一区二区三区| 欧美jizz19性欧美| 亚洲综合另类| 欧美一区二区三区另类| 亚洲成人自拍视频| 亚洲精品中文字| 国产精品一级二级三级| 米奇777在线欧美播放| 欧美成人在线免费视频| 亚洲一区二区三区中文字幕| 欧美有码在线视频| 亚洲精品视频一区二区三区| 亚洲深夜激情| 在线精品亚洲| 一区二区久久久久久| 精品成人在线| 一区二区高清视频在线观看| 精品999网站| 日韩一区二区电影网| 黄页网站一区| 亚洲少妇一区| 亚洲精品国产无天堂网2021| 亚洲欧美一级二级三级| 亚洲人成艺术| 欧美一区日本一区韩国一区| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲欧美精品| 亚洲精品日韩在线观看| 午夜在线精品| 99视频精品在线| 久久久精品一区二区三区| 亚洲免费在线视频一区 二区| 国产视频一区在线观看| 欧美肥婆在线| 依依成人综合视频| 中文国产亚洲喷潮| 亚洲精品视频免费观看| 欧美尤物巨大精品爽| 亚洲影视在线播放| 欧美精品一区二区三区蜜桃 | 在线一区二区视频| 巨乳诱惑日韩免费av| 欧美永久精品| 欧美性开放视频| 最新成人在线| 亚洲黄色在线| 久久综合伊人| 免费成人黄色av| 激情亚洲成人| 欧美影院一区| 久久久成人精品| 国产欧美一二三区| 亚洲在线播放电影| 亚洲免费视频网站| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 国产午夜精品久久久| 亚洲欧美国产精品专区久久| 亚洲一区二区三区免费观看 | 午夜日韩视频| 欧美一区二区视频在线观看2020| 欧美午夜精品久久久久久孕妇| 亚洲全黄一级网站| 日韩一级裸体免费视频| 欧美日本一区二区三区| 亚洲精品久久嫩草网站秘色| 99ri日韩精品视频| 欧美日韩亚洲视频| 亚洲调教视频在线观看| 亚洲一区二区黄色| 国产精品红桃| 香蕉精品999视频一区二区| 欧美一区精品| 伊人成人网在线看| 欧美韩日视频| 亚洲精品资源美女情侣酒店| 亚洲综合日韩| 激情成人中文字幕| 欧美国产高清| 亚洲欧美日韩一区| 你懂的一区二区| 一区二区不卡在线视频 午夜欧美不卡在| 欧美精品偷拍| 亚洲欧美综合v| 欧美好骚综合网| 亚洲一区国产视频| 激情五月***国产精品| 欧美精品麻豆| 欧美影院一区| 亚洲精品九九| 久久综合久久综合这里只有精品| 亚洲精品一区中文| 国产精品综合| 欧美高清在线观看| 欧美一区二区日韩一区二区| 亚洲国产天堂久久综合网| 欧美亚洲在线视频| 亚洲精品免费电影| 国产日韩欧美二区| 欧美精品在线视频观看| 久久国产精品99国产| 日韩亚洲欧美一区| 免费黄网站欧美| 午夜精品在线看| 99国产精品99久久久久久粉嫩| 国产欧美一区二区在线观看| 欧美成人免费视频| 久久福利电影| 亚洲一区二区三区四区在线观看| 欧美激情中文不卡| 久久久夜色精品亚洲| 亚洲欧美另类中文字幕| 99国产精品99久久久久久粉嫩| 国产一区免费视频| 国产精品美女久久久久久2018 | 亚洲精品网址在线观看| 久久久久免费观看| 先锋资源久久| 亚洲在线观看| 国产精品99久久久久久www| 亚洲国产免费看| 影音先锋中文字幕一区| 国产欧美一区二区三区视频| 国产精品观看| 欧美视频一区二| 欧美日韩一区二区精品| 欧美国产精品久久| 欧美成人午夜77777| 久久综合久久美利坚合众国| 久久精品国产欧美激情| 欧美一级电影久久| 午夜精品理论片| 性欧美xxxx视频在线观看| 亚洲免费影院| 亚洲欧美日韩电影| 午夜欧美电影在线观看| 午夜激情一区| 久久国产精品黑丝| 久久久久久尹人网香蕉| 久久久爽爽爽美女图片| 久久亚洲国产成人| 老司机精品视频一区二区三区| 久久亚洲精品一区二区| 老司机精品视频网站| 欧美超级免费视 在线| 欧美激情第二页| 欧美调教vk| 国产日韩欧美中文| 精品成人在线观看| 亚洲伦理在线观看| 亚洲欧美日本伦理| 久久精品一区二区国产| 免费成人黄色av| 91久久精品国产91久久性色| 亚洲精品永久免费| 亚洲一区二区成人| 久久久久青草大香线综合精品| 玖玖综合伊人| 欧美视频一区| 狠狠干狠狠久久| 亚洲精品视频在线| 亚洲专区一二三| 久久天堂av综合合色| 亚洲电影一级黄| 亚洲香蕉视频| 久久久久久一区二区三区| 欧美精品一区二区三区视频| 国产精品视频| 亚洲国产99| 午夜精品区一区二区三| 久久综合色一综合色88| 日韩视频不卡中文| 久久久91精品国产| 欧美婷婷久久| 亚洲黄色在线| 久久精品国产免费观看| 亚洲国产日韩欧美一区二区三区| 亚洲午夜精品国产| 蜜月aⅴ免费一区二区三区| 国产精品福利片| 亚洲人成人99网站| 久久国产精品99久久久久久老狼| 亚洲国产精品va在线看黑人| 亚洲欧美日韩区| 欧美日韩久久| 亚洲国产精品成人综合色在线婷婷| 这里只有精品丝袜| 欧美激情在线免费观看| 欧美中文字幕久久|