gpt4 book ai didi

rust - 如何查询主机三元组的 rustc?

转载 作者:行者123 更新时间:2023-12-03 11:24:46 25 4
gpt4 key购买 nike

使用 gcc 时,我可以通过运行 gcc -dumpmachine 得到 gcc 认为是我的主机的三元组。 .在我当前的系统上,这给了我 x86_64-linux-gnu .
我怎样才能稳定 rustc打印我的主机三重? ( x86_64-unknown-linux-gnu 在这种情况下)rustc除了 --print 之外, 的文档似乎不包含任何相关内容。和 --version .两者似乎都没有产生主机目标三元组。
澄清 :到目前为止,每晚给出了两个答案,我想强调的是,这个问题专门针对稳定 rustc编译器。

最佳答案

使用 Rust nightly,您可以打印“目标规范 JSON”:

$ rustc +nightly -Z unstable-options --print target-spec-json
{
"arch": "x86_64",
"cpu": "x86-64",
"data-layout": "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128",
"dynamic-linking": true,
"env": "gnu",
"executables": true,
"has-elf-tls": true,
"has-rpath": true,
"is-builtin": true,
"linker-flavor": "gcc",
"linker-is-gnu": true,
"llvm-target": "x86_64-unknown-linux-gnu",
"max-atomic-width": 64,
"os": "linux",
"position-independent-executables": true,
"pre-link-args": {
"gcc": [
"-Wl,--as-needed",
"-Wl,-z,noexecstack",
"-m64"
]
},
"relro-level": "full",
"stack-probes": true,
"target-c-int-width": "32",
"target-endian": "little",
"target-family": "unix",
"target-pointer-width": "64",
"vendor": "unknown"
}
要在命令行上解析目标三元组,您可以使用类似 jq 的工具。 :
$ rustc +nightly -Z unstable-options --print target-spec-json | jq -r '."llvm-target"'
x86_64-unknown-linux-gnu
这还不稳定(因此需要 -Z unstable-options 编译器选项),但将来可能会稳定。该功能是在 #38061 中添加的.

关于rust - 如何查询主机三元组的 rustc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63685737/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com