1个不稳定版本
0.1.0 | 2023年10月13日 |
---|
#20 in #symbol-table
6KB
67 行
rsymtab
bla
lib.rs
:
这是一个生成导出符号列表的crate,类似于Linux内核中ksymtab的工作方式,但用于Rust包。
基本思路是,您可以通过在项上添加 #[export]
属性来导出项,然后您可以通过调用 symbols
函数来访问所有导出的符号。
示例
fn main() {
println!("{:?}", rsymtab::symbols());
}
#[rsymtab::export]
fn foo() {}
#[rsymtab::export]
fn bar() {}
#[rsymtab::export]
static mut FOO: u32 = 5;
兼容性
注意:此crate目前只能在Linux上运行。
这是因为它使用链接器脚本来实现创建符号表的一些魔法。此外,仅支持支持指定多个链接器脚本的链接器,否则此crate将覆盖默认的链接器脚本。
依赖关系
~320–780KB
~19K SLoC