クラスjdk.incubator.foreign.FunctionDescriptorの
使用
-
jdk.incubator.foreignでのFunctionDescriptorの使用
修飾子と型メソッド説明FunctionDescriptor.appendArgumentLayouts
(MemoryLayout... addedLayouts) 指定された引数レイアウトをこの関数記述子の引数レイアウト配列に追加して、新しい関数記述子を作成します。FunctionDescriptor.asVariadic
(MemoryLayout... variadicLayouts) この関数記述子の引数レイアウトに特定の可変個引数レイアウトを追加して、特殊な可変個引数関数記述子を取得します。FunctionDescriptor.changeReturnLayout
(MemoryLayout newReturn) 指定されたメモリー・レイアウトを使用して、新しい関数記述子を新しい戻りレイアウトとして作成します。FunctionDescriptor.dropReturnLayout()
戻り値のレイアウトをドロップして、新しい関数記述子を作成します。FunctionDescriptor.insertArgumentLayouts
(int index, MemoryLayout... addedLayouts) 指定された引数レイアウトを、この関数記述子の引数レイアウト配列に挿入して、新しい関数記述子を作成します。static FunctionDescriptor
FunctionDescriptor.of
(MemoryLayout resLayout, MemoryLayout... argLayouts) 指定された戻り値と引数のレイアウトで関数記述子を作成します。static FunctionDescriptor
FunctionDescriptor.ofVoid
(MemoryLayout... argLayouts) 指定された引数のレイアウトで戻り値のない関数記述子を作成します。修飾子と型メソッド説明CLinker.downcallHandle
(FunctionDescriptor function) 指定された型の外部メソッド・ハンドルを取得し、指定された関数記述子を装備します。これは、動的に提供されるネイティブ・シンボル内のアドレスでターゲットの外部関数を呼び出すために使用できます。default MethodHandle
CLinker.downcallHandle
(NativeSymbol symbol, FunctionDescriptor function) 指定された型の外部メソッド・ハンドルを取得し、指定された関数記述子を装備します。これは、指定されたネイティブ・シンボル内のアドレスでターゲット外部関数を呼び出すために使用できます。static MethodType
CLinker.downcallType
(FunctionDescriptor functionDescriptor) 指定された関数記述子に関連付けられたdowncallメソッド・ハンドルtypeを取得します。CLinker.upcallStub
(MethodHandle target, FunctionDescriptor function, ResourceScope scope) 指定されたスコープを持つネイティブ・スタブを、他の外部関数(関数ポインタとして)に渡すことができます。このようなファンクション・ポインタをネイティブ・コードからコールすると、指定されたメソッド・ハンドルが実行されます。static MethodType
CLinker.upcallType
(FunctionDescriptor functionDescriptor) 指定された関数記述子を持つupcallスタブに関連付けられたメソッド・ハンドルtypeを取得します。