本文介绍了如何查询主机三元组的rustc?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
和GCC合作时,我可以通过运行gcc -dumpmachine
得到GCC认为是我主人的三胞胎。在我当前的系统上,这为我提供了x86_64-linux-gnu
。
我如何才能稳定地rustc
打印我的主机三倍?(在这种情况下x86_64-unknown-linux-gnu
)
rustc
的文档似乎除了--print
和--version
之外没有任何相关内容。这两个似乎都没有生成主机目标三元组。
澄清:到目前为止,我给出了关于每晚的两个答案,我想强调的是,这个问题具体是关于稳定的rustc
编译器。
推荐答案
每晚使用铁锈,您可以打印目标规格:
$ 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。
这篇关于如何查询主机三元组的rustc?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!