首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Rust编程知识拾遗:Rust 条件编译

条件编译可以通过两种不同的操作符实现,如下:

- cfg属性:在属性位置中使用#[cfg(...)]

- cfg!宏:在布尔表达式中使用cfg!(...)

例子1:

// 仅当目标系统为Linux 的时候才会编译

#[cfg(target_os = "linux")]

fn are_you_on_linux() {

println!("linux!")

}

// 仅当目标系统不是Linux 时才会编译

#[cfg(not(target_os = "linux"))]

fn are_you_on_linux() {

println!("not linux!")

}

fn main() {

are_you_on_linux();

println!("Are you sure?");

if cfg!(target_os = "linux") {

println!("Yes. It's linux!");

} else {

println!("Yes. It's not linux!");

}

}

例子2:

//main.rs

#[cfg(some_condition)]

fn conditional_function() {

println!("condition met!");

}

fn main() {

conditional_function();

println!("Hello, world!");

}

运行:rustc main.rs && ./main(报错)

运行:rustc --cfg some_condition main.rs && ./main

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200321A06OOX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券