diff options
author | Sven Gothel <[email protected]> | 2023-07-01 02:50:18 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2023-07-01 02:50:18 +0200 |
commit | dd5829a4fed25fbad766361b87c65076ef596ded (patch) | |
tree | ace12be630697838c1674fa9e3d1714f3144c314 /README.md | |
parent | a73c992290930e617c78241bae9fe20cb18a01a9 (diff) |
GlueGen Intro: Add section about its comprehensive runtime library, shorten the JNI_OnLoad section
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -10,7 +10,16 @@ This project's canonical repositories is hosted on [JogAmp](https://jogamp.org/c generating Java™ and JNI C code offline at compile time and allows using native libraries within your Java™ application. -It reads ANSI C header files +GlueGen also provides a comprehensive [runtime library](https://jogamp.org/deployment/jogamp-next/javadoc/gluegen/javadoc/) offering +- Support for multi-arch and java code fat-jar deployment + - Native library including JNI bundle handling and Jar file cache + - Platform architecture information retrieval, ELF parser, alignment etc +- Enhanced NIO buffer handling for pointer, arrays, DMA mapping etc</li> +- Network Uri RFC 2396, connection and resource handler to simplify asset loading +- Bitstream, hash maps, ringbuffer, sha cumulator, reflection and threading utils +- Abstract AudioFormat and AudioSink interfaces, concurrent locks .. and more + +GlueGen's compiler reads ANSI C header files and separate configuration files which provide control over many aspects of the glue code generation. GlueGen uses a complete ANSI C parser and an internal representation (IR) capable of representing all @@ -31,7 +40,7 @@ GlueGen also supports [producing an OO-Style API mapping](doc/GlueGen_Mapping.md GlueGen is capable to bind low-level APIs such as the Java™ Native Interface (JNI) and the AWT Native Interface (JAWT) back up to the Java programming language. -Further, GlueGen supports generating `JNI_OnLoad(..)` for dynamic and `JNI_OnLoad_<LibraryBasename>(..)` for static libraries via [`LibraryOnLoad LibraryBasename`](doc/GlueGen_Mapping.md#libraryonload-librarybasename-for-jni_onload-), which also provides `JVMUtil_GetJNIEnv(..)` to resolve the `JNIEnv*` as used by [Java™ callback methods](doc/GlueGen_Mapping.md#java-callback-from-native-c-api-support). +Further, GlueGen supports [generating `JNI_OnLoad*(..)` for dynamic and static libraries](doc/GlueGen_Mapping.md#libraryonload-librarybasename-for-jni_onload-), also resolving off-thread `JNIEnv*` lookup. GlueGen utilizes [JCPP](https://jogamp.org/cgit/jcpp.git/about/), migrated C preprocessor written in Java™. |