# BT.info ## 功能 返回当前 BT 运行时信息快照。该快照包含解释器版本、平台、二进制文件、启动工作目录和并行线程数等基础信息。 ## 语法 ```bt BT.info() ``` ## 参数 | 参数 | 类型 | 必填 | 默认值 | 说明 | | ------ | ------ | ------ | ------ | ------ | | 无 | - | 否 | 无 | 不需要参数。 | ## 返回值 | 类型 | 说明 | | ------ | ------ | | Object | 返回运行时信息对象。字段见下方“返回对象字段”。 | ## 返回对象字段 `BT.info()` 的字段在首次调用时生成并缓存,后续调用返回同一份快照的克隆。 | 字段 | 类型 | 必定存在 | 说明 | | ------ | ------ | ------ | ------ | | version | String | 是 | 当前 BT 版本,来自构建时的 Cargo package version。 | | name | String | 是 | 当前二进制的逻辑名称。CLI 构建通常为 `bt`,桌面 App 构建为 `bt-app`。 | | os | String | 是 | 当前目标操作系统名称,例如 `windows`、`linux`、`macos`。 | | arch | String | 是 | 当前 CPU 架构名称,例如 `x86_64`、`aarch64`。 | | family | String | 是 | 当前操作系统家族,例如 `windows`、`unix`、`wasm`。 | | debug | Bool | 是 | 当前二进制是否为 debug 构建。`true` 表示启用了 debug assertions。 | | exe_name | String | 是 | 当前实际运行文件名,包含扩展名;用户重命名 exe 后会返回重命名后的文件名。读取失败时为空字符串。 | | exe_ext | String | 是 | 当前平台可执行文件扩展名,带前导点。Windows 为 `.exe`;无扩展名的平台返回空字符串。 | | lib_ext | String | 是 | 当前平台动态库扩展名,带前导点。例如 Windows 为 `.dll`,Linux 为 `.so`,macOS 为 `.dylib`。 | | pointer_width | Int | 是 | 当前目标平台指针宽度。常见值为 `64` 或 `32`。 | | threads | Int | 是 | 当前系统可用并行线程数。读取失败时返回 `1`。 | | cwd | String | 是 | BT 进程启动时的工作目录快照,不是实时工作目录,也不是 VM 项目根目录。读取失败时为空字符串。 | | exe_path | String | 是 | 当前实际运行文件完整路径。读取失败时为空字符串。 | ## 示例 ```bt info = BT.info() result = info.exe_name // 输出示例:bt-app.exe print result ``` ## 注意事项 - BT.info() 首次调用时生成快照,后续调用从缓存克隆返回。 - `cwd` 是 BT 进程启动时的工作目录快照;如需读取当前 VM 的项目根目录,请使用 `cur_root()`。 - bt-app Bundle 模式下,`cur_root()` 可能是资源临时展开目录,例如系统 Temp 下的 `bt-app-vm-*`;`BT.info().cwd` 仍然表示进程启动工作目录。 - 如需获取当前 exe 所在目录,可使用 `path(BT.info().exe_path).dirname()`。