面试题答案
一键面试#[cfg(target_os = "linux")]
#[cfg(feature = "linux_specific")]
pub fn linux_specific_function() {
println!("This is a Linux - specific function");
}
#[cfg(not(any(target_os = "linux", feature = "linux_specific")))]
pub fn linux_specific_function() {}
说明
- 条件编译:使用
cfg
属性来实现条件编译。target_os = "linux"
用于判断当前是否是Linux平台,feature = "linux_specific"
用于判断是否启用了linux_specific
特征。 - 函数实现:当同时满足是Linux平台且启用了
linux_specific
特征时,linux_specific_function
函数会打印出指定消息。在其他情况下(非Linux平台或者未启用linux_specific
特征),linux_specific_function
是一个空函数,不执行任何操作。
要启用linux_specific
特征,可以在Cargo.toml
文件中添加:
[features]
linux_specific = []
然后在构建时使用--features linux_specific
参数来启用该特征。