Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/electrostat-lab/jme-alloc
A direct dynamic memory allocation API for jMonkeyEngine lwjgl-2 and android games
https://github.com/electrostat-lab/jme-alloc
allocation-api android-api bash-scripting cpp desktop gcc-complier gradle gradle-api gradle-build java jmonkeyengine3 linux llvm-clang lwjgl2 macos ndk shell virtual-memory virtual-memory-management windows-x64
Last synced: 9 days ago
JSON representation
A direct dynamic memory allocation API for jMonkeyEngine lwjgl-2 and android games
- Host: GitHub
- URL: https://github.com/electrostat-lab/jme-alloc
- Owner: Electrostat-Lab
- License: bsd-3-clause
- Created: 2023-01-14T12:07:59.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-08-08T10:27:59.000Z (over 1 year ago)
- Last Synced: 2024-05-03T16:17:57.403Z (8 months ago)
- Topics: allocation-api, android-api, bash-scripting, cpp, desktop, gcc-complier, gradle, gradle-api, gradle-build, java, jmonkeyengine3, linux, llvm-clang, lwjgl2, macos, ndk, shell, virtual-memory, virtual-memory-management, windows-x64
- Language: Java
- Homepage: https://hub.jmonkeyengine.org/t/jme-alloc-project/46356
- Size: 17.5 MB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
#
jme-alloc project
[![](https://github.com/Software-Hardware-Codesign/jme-alloc/actions/workflows/build-test.yml/badge.svg)](https://software-hardware-codesign.github.io/jme-alloc/)
[![](https://github.com/Software-Hardware-Codesign/jme-alloc/actions/workflows/doc-website.yml/badge.svg)](https://software-hardware-codesign.github.io/jme-alloc/) [![](https://github.com/Software-Hardware-Codesign/jme-alloc/actions/workflows/build-deploy.yml/badge.svg)](https://repo.maven.apache.org/maven2/io/github/software-hardware-codesign/jme3-alloc-desktop/)
[![](https://github.com/Software-Hardware-Codesign/jme-alloc/actions/workflows/debug-deploy.yml/badge.svg)](https://repo.maven.apache.org/maven2/io/github/software-hardware-codesign/jme3-alloc-desktop-debug/)A direct dynamic memory allocation api for jMonkeyEngine lwjgl-2 and android games.
### To build locally, use:
```bash
┌─[pavl-machine@pavl-machine]─[/home/twisted/GradleProjects/jme-alloc]
└──╼ $./gradlew clean &&
./gradlew :jme3-alloc:compileJava && \
./gradlew :jme3-alloc-native:compileX86_64 && \
./gradlew :jme3-alloc-native:copyNatives && \
./gradlew :jme3-alloc:assemble
```
### To test locally, use:
```bash
┌─[pavl-machine@pavl-machine]─[/home/twisted/GradleProjects/jme-alloc]
└──╼ $./gradlew :jme3-alloc-examples:run
```
### For more about, building, testing and contributing, visit:
> [CONTRIBUTING.md](https://github.com/Software-Hardware-Codesign/jme-alloc/blob/master/CONTRIBUTING.md)### For quick use:
```java
/* select your platform here */
final String platform = "desktop"
final String binaryType = "debug"
final String version = "1.0.0-pre-gamma-1"repositories {
mavenCentral()
}
dependencies {
implementation "io.github.software-hardware-codesign:jme3-alloc-${platform}-${binaryType}:${version}"
}
```#### API:
- [x] Native extraction according to the system variant (OS + architecture) using [`com.jme3.alloc.util.loader.NativeBinaryLoader`](https://github.com/Software-Hardware-Codesign/jme-alloc/blob/master/jme3-alloc/src/main/java/com/jme3/alloc/util/loader/NativeBinaryLoader.java).
- [x] Dynamic linking code.
- [x] Base Allocator/De-allocator API: [`com.jme3.alloc.util.NativeBufferUtils`](https://github.com/Software-Hardware-Codesign/jme-alloc/blob/master/jme3-alloc/src/main/java/com/jme3/alloc/util/NativeBufferUtils.java) and [`com.jme3.alloc.NativeBufferAllocator`](https://github.com/Software-Hardware-Codesign/jme-alloc/blob/master/jme3-alloc/src/main/java/com/jme3/alloc/NativeBufferAllocator.java).
- [x] Native logging api with output to an external log file stream.
- [x] Garbage collectible buffers API.#### Build-system:
- [x] Separate jvm and native modules.
- [x] Generating header files for java sources.
- [x] Packaging java and natives in a jar.
- [x] Github-actions.
- [x] Handling different variants build (linux-x86-64).
- [x] Handling different variants build (linux-x86).
- [x] Handling different variants build (windows-x86-64).
- [x] Handling different variants build (macos-x86-64).
- [x] Handling different `android` build architectures (aarch-64, arm32, intel-x86-64, intel-x86).
- [ ] Handling different variants build (windows-x86).
- [ ] Handling different variants build (macos-x86).#### Documentation:
- [x] JavaDocs.
- [x] NativeDocs.
- [x] Running Examples.
- [x] Contribution guide.
- [ ] Documentation website for different releases (not only the latest).