インタフェースjdk.incubator.foreign.MemoryAddressの
使用
-
jdk.incubator.foreignでのMemoryAddressの使用
修飾子と型フィールド説明static final MemoryAddress
MemoryAddress.NULL
ネイティブ・メモリー・アドレス・インスタンスは、「グローバル」リソース・スコープに関連付けられたNULL
アドレスをモデリングします。修飾子と型メソッド説明MemoryAddress.addOffset
(long offset) 指定されたオフセット(バイト単位)を使用して、現在のメモリー・アドレスから新しいメモリー・アドレスを生成します(負の場合もあります)。Addressable.address()
このオブジェクトをMemoryAddress
インスタンスにマップします。CLinker.VaList.address()
このインスタンスに関連付けられたCva_list
のメモリー・アドレスを返します。default MemoryAddress
MemoryAddress.address()
MemorySegment.address()
このメモリー・セグメントに関連付けられているベース・メモリー・アドレス。static MemoryAddress
CLinker.allocateMemory
(long size) mallocを使用して、指定されたサイズのメモリーを割り当てます。static MemoryAddress
MemoryAccess.getAddress
(MemorySegment segment) バイト順序をByteOrder.nativeOrder()
に設定して、指定されたセグメントからメモリー・アドレスを読み取ります。static MemoryAddress
MemoryAccess.getAddressAtIndex
(MemorySegment segment, long index) バイト順序をByteOrder.nativeOrder()
に設定して、指定されたセグメントおよび要素索引からメモリー・アドレスを読み取ります。static MemoryAddress
MemoryAccess.getAddressAtOffset
(MemorySegment segment, long offset) 指定されたセグメントおよびオフセットから、バイト順序をByteOrder.nativeOrder()
に設定してメモリー・アドレスを読み取ります。static MemoryAddress
MemoryAddress.ofLong
(long value) 指定されたロング・アドレスからネイティブ・メモリー・アドレス・インスタンスを取得します。CLinker.upcallStub
(MethodHandle target, FunctionDescriptor function, ResourceScope scope) 指定されたスコープを持つネイティブ・スタブを、他の外部関数(関数ポインタとして)に渡すことができます。このようなファンクション・ポインタをネイティブ・コードからコールすると、指定されたメソッド・ハンドルが実行されます。CLinker.VaList.vargAsAddress
(MemoryLayout layout) 次の値をMemoryAddress
として読み取り、このvaリストの位置を進めます。修飾子と型メソッド説明このルックアップで、指定された名前のシンボルをルックアップします。修飾子と型メソッド説明default MemorySegment
MemorySegment.asSlice
(MemoryAddress newBase) ベース・アドレスが指定されたアドレスであり、このセグメント・サイズからこのセグメント(segmentOffset(MemorySegment)
を参照してください)に相対的なアドレス・オフセットを減算して新しいサイズが計算される新しいメモリー・セグメント・ビューを取得します。default MemorySegment
MemorySegment.asSlice
(MemoryAddress newBase, long newSize) ベース・アドレスが指定されたアドレスであり、新しいサイズが指定された引数で指定されている新しいメモリー・セグメント・ビューを取得します。static void
CLinker.freeMemory
(MemoryAddress addr) 指定されたメモリー・アドレスが指すメモリーを解放します。static CLinker.VaList
CLinker.VaList.ofAddress
(MemoryAddress address) 「グローバル」リソース・スコープによって支えられた既存のCva_list
を指すメモリー・アドレスから新しいVaList
インスタンスを構築します。static CLinker.VaList
CLinker.VaList.ofAddress
(MemoryAddress address, ResourceScope scope) 指定されたリソース・スコープを持つ既存のCva_list
を指し示すメモリー・アドレスから新しいVaList
インスタンスを構築します。static String
CLinker.toJavaString
(MemoryAddress addr) 指定されたアドレスに格納されているUTF-8エンコードされたnull終端のC文字列をJava文字列に変換します。