第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

結(jié)構(gòu) JNA 返回錯(cuò)誤值

結(jié)構(gòu) JNA 返回錯(cuò)誤值

慕妹3146593 2023-06-21 16:16:09
從 C++ 代碼中我得到了結(jié)構(gòu)。但是我得到的所有值都是默認(rèn)值。下面是我的 C++ 代碼extern "C" { PDFCONTENTDATA GetPDFContentData(LPTSTR lptszS3FileURL){PDFCONTENTDATA pdfContentData;pdfContentData.m_uiRasterDPI = 100;return pdfContentData;}}; 下面是我的 java/scala 代碼@Structure.FieldOrder({ "m_uiRasterDPI"})public class tagPDFContentData extends Structure {    public static class ByValue extends tagPDFContentData implements Structure.ByValue { }    public static class ByReference extends tagPDFContentData implements Structure.ByReference { }    public volatile int m_uiRasterDPI;}trait CDocuLinkCoreServices extends Library{  def GetPDFContentData(value: Pointer):  tagPDFContentData.ByValue}但我越來越m_uiRasterDPI=0它應(yīng)該返回 100。
查看完整描述

1 回答

?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

package recipeNo057;


import com.sun.jna.Library;

import com.sun.jna.WString;

import com.sun.jna.Native;

import com.sun.jna.Structure;


@Structure.FieldOrder({ "field" })

public class Data extends Structure {


? ? public static class ByValue extends Data implements Structure.ByValue { }

? ? public static class ByReference extends Data implements Structure.ByReference { }

? ? public volatile int field;


}

在另一邊(C++邊)我們有“相同”的結(jié)構(gòu)。


typedef struct data {

? int field;

}?

JavaScala 通過“鏈接”基于類、JNA基于本機(jī)代碼的調(diào)用以及本機(jī)代碼本身,將所有這些內(nèi)容綁定在一起C++。


trait HelloWorld extends Library {


? def GetData(m: WString) : Data.ByValue;


}


object HelloJNA {


? def main(args:Array[String]):Unit = {


? ? val libc? ?= Native.load( "HelloWorld", classOf[HelloWorld] )


? ? var result = libc.GetData( new WString("I am passing String!") )

? ? println("Result: " + result.field);


? }

}

筆記


重要的是要注意Java結(jié)構(gòu)和C++結(jié)構(gòu)之間的類型匹配。


查看完整回答
反對 回復(fù) 2023-06-21
  • 1 回答
  • 0 關(guān)注
  • 236 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號