16 releases
0.1.16 | Jul 5, 2021 |
---|---|
0.1.15 | Jul 2, 2021 |
0.1.12 | Jun 11, 2021 |
0.1.8 | May 28, 2021 |
0.1.1 | Dec 12, 2019 |
#1982 in Development tools
58 downloads per month
Used in 9 crates
(2 directly)
105KB
2.5K
SLoC
Ligen
Ligen (Language Interface Generator) is an extensible macro-based multi-language binding generator.
We officially support ligen-c
, a binding generator for the Programming Language C.
You can add ligen to your codebase by adding #[ligen]
attributes to the items you want to
export. It is as simple as this:
use ligen::ligen;
use ligen_c::ligen_c;
use ligen_cpp::ligen_cpp;
pub struct Counter {
count: u32
}
#[ligen(c, cpp)]
impl Counter {
pub fn new() -> Self { Self { count: 0 } }
pub fn count(&mut self) { self.count += 1; }
pub fn get_count(&self) -> u32 { self.count }
}
Getting started
Here are a few links to get started:
Dependencies
~1.3–2.2MB
~45K SLoC