4 个版本
0.1.4 | 2022年6月27日 |
---|---|
0.1.3 | 2021年1月7日 |
0.1.1 | 2017年1月4日 |
0.1.0 | 2017年1月4日 |
#263 在 文件系统
8,090 每月下载量
用于 4 crates
13KB
212 行
process_path
一个用于获取当前正在执行的进程或当前动态库路径的 Rust 库。
后者对于需要加载存储在文件系统库位置相对路径的资源类型的动态库尤其有用。
用法
将以下内容添加到您的 Cargo.toml
[dependencies]
process_path = "0.1.4"
并将以下内容添加到您的 crate 根目录
use process_path;
示例
此程序将打印其路径到 stdout
use process_path::get_executable_path;
fn main() {
let path = get_executable_path();
match path {
None => println!("The process path could not be determined"),
Some(path) => println!("{:?}", path)
}
}
支持的平台
平台 | 底层 API get_executable_path() |
get_dylib_path() |
---|---|---|
Linux | readlink(/proc/self/exe) |
dladdr() |
FreeBSD | sysctl(3) 或 readlink(/proc/curproc/file) |
dladdr() |
NetBSD | readlink(/proc/curproc/exe) |
dladdr() |
DragonflyBSD | readlink(/proc/curproc/file) |
dladdr() |
macOS | _NSGetExecutablePath() |
dladdr() |
Windows | GetModuleFileName() |
GetModuleHandleEx() |
许可证
版权所有 Wesley Wiser 和 process_path
贡献者。
许可协议为以下之一
- Apache 许可证 2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
您可选择。
依赖
~185KB