170. Introducing Jextract
Jextract (https://github.com/openjdk/jextract) is a very handy tool capable of consuming the headers of native libraries (*.h
files) and producing low-level Java native bindings. Via this tool, we can save a lot of time since we can focus only on calling native code without caring about the mechanical steps of loading libraries, writing method handles, or downcall and upcall stubs.
Jextract is a command-line tool that can be downloaded from https://jdk.java.net/jextract. The main options of this tool are listed here:
--source
: When we writejextract --source
, we instruct Jextract to generate from the given header file the corresponding source files without classes. When this option is omitted, Jextract will generate classes.-- output path
: By default, the generated files are placed in the current folder. Via this option, we can point out the path where these files should be placed.-t <package>
: By default, Jextract uses...