1.3、编译静态库,生成的静态库在src/target/release目录下,具体编译命令如下: cargo build --release 2、使用cbindgen生成静态库头文件 2.1 新建cbindgen.toml文件,添加:language = "C" 默认已经安装了cbindgen。 2.2 cbindgen生成头文件: cbindgen --config cbindgen.toml --cratemylog--outputrust_log.h 生成...
了解到Rust可以编译成静态库,于是动了只用Rust实现其中一小部分功能的想法。随手一搜,找到这篇文章: c...
然后,您可以将cargo配置为发出一个系统库,而不是其常规的生锈目标:
#[link(name = "hello", kind = "static")] extern "C" { fn say_hello(); } 上述代码需要链接静态库为 libhello.a 第一种: export LIBRARY_PATH="path to static library" 第二种 RUSTFLAGS="-Clink-arg=-L -Clink-arg=path_to_static_lib" cargo r RUSTFLAGS="-Clink-arg=-L -Clink-arg=...
记得在编译 Rust 代码为静态或动态库,并在 C 项目中正确链接。至于Rust 代码之间的相互引用,Rust 项目通常由多个模块组成,模块间可以通过导入 `use` 关键字进行引用。例如,如果你有一个名为 `math` 的模块,其中定义了一个 `add` 函数,你可以在其他模块中这样引用:...