This library provides a native C api to the JHeaps library. Since the JHeaps library is written in Java, we use GraalVM in order to build a shared library.
Important! This is alpha software and the interface many change!
We use cmake to build the native library.
mkdir build/
cd build/
cmake ..
make
Use make install
to install the library. After a successful installation, you should see the following files:
jheaps_capi.h
jheaps_capi_types.h
jheaps_capi_dynamic.h
graal_isolate.h
graal_isolate_dynamic.h
and the shared library libjheaps_capi.so
.
The build will succeed only if you have the following piece of software installed:
- GraalVM 20.0 with Java 11 support
- Native Image component from GraalVM
- GNU C compiler or clang
- glibc-devel, zlib-devel (header files for the C library and zlib)
- Maven build tool
- CMake
For Windows you will need Microsoft Visual C++ (MSVC) 2017 15.5.5 or later. Build the
system using the proper
Developer Command Prompt
for your version of Visual Studio. This means
x64 Native Tools Command Prompt
. Use Visual Studio 2017 or later.
This library may be used under the terms of the
- Apache License Version 2.0 https://www.apache.org/licenses/LICENSE-2.0
Please note that this library is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Please refer to the license for details.
SPDX-License-Identifier: Apache-2.0
(C) Copyright 2020, by Dimitrios Michail
Enjoy!