目录

rust导出Dll

cargo new addlib -lib

rust

//添加一个标记 #[no_mangle],防止编译器在编译的时候,重命名函数。

#[no_mangle]

//pub 公开 extern,导出

//"stdcall"是调用约定ABI,rust支持stdcall,aapcs,cdecl,fastcall,vectorcall,Rust,rust-intrinsic,system,C,win64,sysv64

pub  extern  "stdcall"  fn  add(a: i32,b:i32) -> i32 {

return a+b;

}

toml

[lib]
name="addlib"
crate-type = ["cdylib"]

sh

cargo build --release

编译成功之后会在相关目录生成动态库文件。