6个稳定版本
1.0.5 | 2024年4月5日 |
---|---|
1.0.3 | 2024年2月23日 |
#1625 in 过程宏
403 每月下载量
用于 sly_static
6KB
95 行
sls静态
无缝Rust静态初始化:简单高效
这是什么?
此crate允许您在main函数内轻松(自动)初始化静态变量。
它是如何工作的?
使用linkme crate收集所有静态变量并在main函数内初始化它们。它使用ctor的一些代码来初始化静态变量。
警告
它使用不安全代码来初始化静态变量,但除非您对其进行一些奇怪的操作,否则它是安全的。
我说它是安全的,因为所有静态变量都在main函数内初始化,因此无法在初始化之前访问它们。
示例
use sly_static::sly_static;
use sly_static::sly_main;
#[sly_static]
static MY_STATIC: String = String::from("Hello, World!");
#[sly_main]
fn main() {
println!("{}", *MY_STATIC);
}
许可证:MIT
依赖项
~270–720KB
~17K SLoC