亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

JNA調用C語言動態鏈接庫學習實踐總結

2019-11-14 08:48:45
字體:
來源:轉載
供稿:網友

非常感謝linux社區的zht666給我指了一條明路,本文轉載自: http://www.linuxidc.com/Linux/2014-04/99688p2.htm

2.JNA模擬普通傳值參數

C語言函數:

int function1(int a, float b, long c)

JNA模擬:

int function1(int a, float b, long c)

3.JNA模擬C語言數組

C語言函數:

void function1(char * data)

void function2(const unsigned char* data)

JNA模擬:

void function1(char[] data) 或者 void function1(byte[] data) void function2(char[] data) 或者 void function2(byte[] data)

4.JNA模擬基本類型指針

JNA的ByReference有很多子類,這些類都在com.sun.jna.ptr包中:

IntByReference,LongByReference,FloatByReference,DoubleByReference,ShortByReference、ByteByReference、PointerByReference等等

從這些名字大家應該可以看出來他們的作用。

下面直接上例子吧:

C語言函數:

long function(int * a, long * b, float * c, double * d, short * e)

JNA模擬:

long function(IntByReference aRef, LongByReference bRef, FloatByReference cRef, DoubleByReference dRef, ShortByReference eRef)

如何構建這些對象呢?

FloatByReference cRef = new FloatByReference(); //使用默認初始值(具體多少我也不知道) FloatByReference cRef = new FloatByReference(0); //初始值為0

調用方法和普通參數一樣:

function(…, cRef, …);

獲取結果值:

float fVal = cRef.getValue();

JNA都為我們做的很簡單,不是嗎?

5.JNA模擬指針、指針的指針、模擬void ,void 等指針*

C函數:

void function(int * pInt, int * ppInt, void pVoid, void ** ppVoid)

JNA模擬:

void function(IntByReference pInt, PointerByReference ppInt, Pointer pVoid, PointerByReference ppVoid) 調用舉例: IntByReference pInt = new IntByReference(0); PointerByReference ppInt = new PointerByReference(Pointer.NULL); //指向指針的指針,初始化為NULL Pointer pVoid = Pointer.NULL; //創建一個指向NULL的指針 PointerByReference ppVoid = new PointerByReference(Pointer.NULL); 調用:function(pInt, ppInt, pVoid, ppVoid);

(1)PointerByReference是指向指針的指針,遇到指針的指針都可以使用它來模擬,那么如何獲取到它指向的指針呢?

Pointer p = ppVoid.getValue(); //獲取指針

(2)如何獲取指針的指針呢?

Pointer p1 = ….; PointerByReference pp1 = new PointerByReference(p1); PointerByReference ppp1 = new PointerByReference(pp1.getPointer());

這些操作大家可以自己做實驗嘗試,對于PointerByReference對象,getValue()是取值,而getPointer()是取這個指針的指針。

看著復雜,其實都很簡單!JNA要比JNI好用多了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区三区三区在线观看| 国产一区二区久久精品| 久久久久久国产精品| 一本色道久久综合狠狠躁篇怎么玩| 国产成人拍精品视频午夜网站| 欧美电影第一页| 91精品国产乱码久久久久久久久| 色综合色综合网色综合| 欧美亚洲一区在线| 97超碰国产精品女人人人爽| 欧美一区二区影院| 欧美日韩精品二区| 久久亚洲精品一区二区| 色偷偷偷综合中文字幕;dd| 亚洲激情视频在线观看| 亚洲天堂av在线免费| 久久影院模特热| 亚洲黄一区二区| 久精品免费视频| 亚洲精品国产综合久久| 亚洲a在线观看| 深夜精品寂寞黄网站在线观看| 国产精品日日摸夜夜添夜夜av| 国产精品久久久久久久久久尿| 国产成+人+综合+亚洲欧美丁香花| 中文字幕精品在线视频| 中文字幕亚洲天堂| 久久久久一本一区二区青青蜜月| 久久国产精品首页| 国内揄拍国内精品少妇国语| 国产中文字幕日韩| 在线观看中文字幕亚洲| 欧美精品做受xxx性少妇| 国产欧美婷婷中文| 久久精品国产亚洲7777| 亚洲精品自拍偷拍| 国产91ⅴ在线精品免费观看| 国模gogo一区二区大胆私拍| 成人免费网视频| 国产一区二区三区在线看| 亚洲欧美日韩视频一区| 久久综合色影院| xxxxx91麻豆| 另类天堂视频在线观看| 国产精品福利片| 色综合久久悠悠| 久久精品美女视频网站| 亚洲欧美精品suv| 久久躁狠狠躁夜夜爽| 欧美另类精品xxxx孕妇| 91国产中文字幕| 国产精品一区二区女厕厕| 久久久免费精品视频| 亚洲激情视频在线观看| 亚洲qvod图片区电影| 欧美视频专区一二在线观看| 国产成人av在线| 亚洲字幕一区二区| 亚洲欧美日韩综合| 97精品视频在线播放| 成人a免费视频| 在线观看不卡av| 国产一区二区三区18| 日韩视频免费在线观看| 亚洲电影免费观看高清完整版在线| 国产亚洲精品久久久久久777| 九九视频这里只有精品| 91影院在线免费观看视频| 国产精品igao视频| 精品一区二区三区三区| 日韩精品视频免费在线观看| 欧美视频在线观看 亚洲欧| 国产91精品黑色丝袜高跟鞋| 欧美日韩免费在线观看| www亚洲欧美| 日韩福利在线播放| 国产成人精品视频| 日本中文字幕不卡免费| 国产精品a久久久久久| 日韩精品高清在线| 2018中文字幕一区二区三区| 成人精品一区二区三区| 日韩精品一区二区视频| 久久国产精品久久久久久久久久| 国产精品 欧美在线| 亚洲综合成人婷婷小说| 狠狠躁18三区二区一区| 久久精品成人动漫| 日韩免费av在线| 91av中文字幕| 91九色精品视频| 欧美精品在线视频观看| 国模极品一区二区三区| 日韩av电影免费观看高清| 亚洲va久久久噜噜噜久久天堂| 超碰91人人草人人干| 亚洲国产又黄又爽女人高潮的| 懂色av中文一区二区三区天美| 亚洲精品xxxx| 国产精品手机播放| 狠狠色狠色综合曰曰| 成人国内精品久久久久一区| 亚洲欧美国产制服动漫| 大胆欧美人体视频| 色伦专区97中文字幕| 成人免费在线网址| 国产精品久久一区| 成人国产精品久久久久久亚洲| 伊人男人综合视频网| 奇米一区二区三区四区久久| 久久人体大胆视频| 亚洲石原莉奈一区二区在线观看| 国产成人一区三区| 亚洲欧美日韩视频一区| 国产精品久久久久999| 91手机视频在线观看| 久久国产精品免费视频| 欧美日韩久久久久| 国产亚洲欧美日韩精品| 中文字幕在线看视频国产欧美| 国产精品1区2区在线观看| 欧美成人黑人xx视频免费观看| 色狠狠久久aa北条麻妃| 日日狠狠久久偷偷四色综合免费| 91成人精品网站| 欧美日本啪啪无遮挡网站| 国产成人综合精品在线| 色偷偷偷亚洲综合网另类| 在线播放亚洲激情| 欧美精品激情在线| 亚洲精品wwww| 欧美一级电影免费在线观看| 国产在线日韩在线| 午夜美女久久久久爽久久| 精品国产91久久久久久老师| 成人欧美一区二区三区在线湿哒哒| 欧美性69xxxx肥| 亚洲自拍欧美色图| 亚洲成人久久网| 成人黄色av网| 久久亚洲精品国产亚洲老地址| 国产精品吹潮在线观看| 91成人在线播放| 久久精品国产亚洲| 日韩电视剧免费观看网站| 亚洲欧美日韩一区二区三区在线| 亚洲字幕在线观看| 成人黄色免费看| 91国产中文字幕| 亚洲一区制服诱惑| 粉嫩老牛aⅴ一区二区三区| 欧美刺激性大交免费视频| 欧美大片va欧美在线播放| 日韩中文在线视频| 国产精品视频自在线| 成年无码av片在线| 国产亚洲aⅴaaaaaa毛片| 中文字幕欧美视频在线| 91日韩在线播放| 色99之美女主播在线视频| 日韩视频免费在线观看| 国产日韩欧美黄色| 91在线中文字幕| 国产精品久久二区|