30 lines
819 B
Markdown
30 lines
819 B
Markdown
# rust-ffi-from-go
|
||
|
||
Calling Rust FFI libraries from Go
|
||
|
||
> Rust is an excellent systems language so it makes a lot of sense to be able to use Rust libraries in other languages. Rust supports a Foreign Function Interface (FFI) so you can call into other C libraries as well as allow C to call into Rust libraries.
|
||
>
|
||
> Go has something similar with cgo, but we really don’t want to do anything with C directly. Memory safety is important, particularly for a security company! This means the ideal route is to write in Rust, but compile to a format that Go can interface with. That’s what FFI is for.
|
||
>
|
||
> https://blog.arcjet.com/calling-rust-ffi-libraries-from-go/
|
||
|
||
# Installation
|
||
|
||
```shell
|
||
cargo install cargo-zigbuild
|
||
```
|
||
|
||
|
||
# Build
|
||
|
||
Build or Cross build
|
||
|
||
```shell
|
||
just build
|
||
```
|
||
|
||
```shell
|
||
just build-linux-x86
|
||
```
|
||
|