38 releases (stable)
Uses new Rust 2024
| new 1.10.0 | Dec 2, 2025 |
|---|---|
| 1.9.2 | Oct 3, 2025 |
| 1.9.1 | Sep 5, 2025 |
| 1.8.1 | May 15, 2025 |
| 0.0.1 |
|
#11 in #no-mangle
2,923 downloads per month
Used in 18 crates
(2 directly)
210KB
3K
SLoC
Contains (static library, 1KB) libgcore_shim.a
gcore
Core library for Gear programs.
Features
codec - Allows you to get actual errors occurred instead of ExtError::Some one.
lib.rs:
Lightweight library for use in Gear programs.
This library should be used as a standard library when writing Gear
programs. Compared to gstd crate, this
library provides lower-level primitives that allow you to develop less
expensive programs. Choose it if you are ready to write more code
but get a more efficient Wasm.
Note that you are to define panic and out-of-memory handlers, as the crate does not provide them by default.
Examples
#![no_std]
#![feature(alloc_error_handler)]
extern crate galloc;
use gcore::msg;
#[unsafe(no_mangle)]
extern "C" fn handle() {
let mut bytes = [0; 64];
msg::read(&mut bytes).expect("Unable to read");
if let Ok(payload) = core::str::from_utf8(&bytes) {
if payload == "PING" {
msg::reply(b"PONG", 0).expect("Unable to reply");
}
}
}
#[alloc_error_handler]
pub fn oom(_: core::alloc::Layout) -> ! {
core::arch::wasm32::unreachable()
}
#[panic_handler]
fn panic(_: &core::panic::PanicInfo) -> ! {
core::arch::wasm32::unreachable()
}
Dependencies
~5.5MB
~117K SLoC