pub struct CompilationTarget {
pub build: Architecture,
pub host: AbiCompatible,
pub target: ApiCompatible,
}Expand description
编译目标平台结构体
三要素组合系统,用于精确描述编译输出的目标平台特性。
格式为 build-host-target,类似于LLVM的target triple概念。
§字段说明
build: 底层的运行时架构(Architecture)host: 二进制格式(AbiCompatible)target: API接口(ApiCompatible)
§示例
AbiCompatible, ApiCompatible, Architecture, CompilationTarget,
};
// Linux x86_64目标
let linux_target = CompilationTarget {
build: Architecture::X86_64,
host: AbiCompatible::ELF,
target: ApiCompatible::Gnu,
};
// Windows MSVC目标
let windows_target = CompilationTarget {
build: Architecture::X86_64,
host: AbiCompatible::PE,
target: ApiCompatible::MicrosoftVisualC,
};
// JVM目标
let jvm_target = CompilationTarget {
build: Architecture::JVM,
host: AbiCompatible::Unknown,
target: ApiCompatible::JvmRuntime(8),
};Fields§
§build: Architecture底层的运行时架构,例如 x86_64, ARM64 等芯片,或是 JVM,CLR 等虚拟机
host: AbiCompatible使用何种二进制格式,这里包括文本格式
target: ApiCompatible提供何种 API 接口
Trait Implementations§
Source§impl Clone for CompilationTarget
impl Clone for CompilationTarget
Source§fn clone(&self) -> CompilationTarget
fn clone(&self) -> CompilationTarget
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CompilationTarget
impl Debug for CompilationTarget
Source§impl<'de> Deserialize<'de> for CompilationTarget
impl<'de> Deserialize<'de> for CompilationTarget
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for CompilationTarget
impl Display for CompilationTarget
Source§impl Hash for CompilationTarget
impl Hash for CompilationTarget
Source§impl PartialEq for CompilationTarget
impl PartialEq for CompilationTarget
Source§impl Serialize for CompilationTarget
impl Serialize for CompilationTarget
impl Eq for CompilationTarget
impl StructuralPartialEq for CompilationTarget
Auto Trait Implementations§
impl Freeze for CompilationTarget
impl RefUnwindSafe for CompilationTarget
impl Send for CompilationTarget
impl Sync for CompilationTarget
impl Unpin for CompilationTarget
impl UnwindSafe for CompilationTarget
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more