1 2 3 4 5 6 7
static final MethodHandle {{ handle_name }} = LINKER.downcallHandle( LIB.find("{{ ffi_name }}") .or(() -> LIB.find("_{{ ffi_name }}")) // Try underscore-prefixed variant for macOS .orElseThrow(), FunctionDescriptor.ofVoid(ValueLayout.ADDRESS) );