Rust使用cfg来实现不同系统的条件编译

cfg有两种使用方法:

1. 属性的方法 #[cfg(…)]

#[cfg(target_os = "linux")]
fn get_os_info(){
	println!("linux");
}
 
#[cfg(target_os = "windows")]
fn get_os_info() {
    println!("windows");
}
 
fn main() {
    get_os_info();
}

在不同的操作系统上会编译不同的函数。

也可使用not表达式:

#[cfg(not(target_os = "linux"))]
fn get_os_info() {
    println!("not linux");
}

在非 linux 系统下会编译此函数。

2. 使用cfg宏的方法进行条件编译

fn main() {
 
    if cfg!(target_os = "linux") {
        println!("linux");
    } else {
        println!("not linux");
    }
}

具体使用哪一种方法,要视情况而定。比如第二种方法不适合代码数量多的情况。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/1554.html

分类: 计算机技术
推荐阅读:
PySide6 style()函数详细教程 Pyside6.QtWidgets.QApplication类的成员函数style()用于返回程序当前使用的style对象;
Linux终端显示文件中的特定行 在Linux系统下,你如果想在终端显示文件中的指定行,那么你只需这一条命令:
提示Permission denied的解决方法 通常,提示Permission denied表示你的某个操作权限不够;在Linux系统中,权限分为读权限、写权限和可执行权限,当你所在的用户组没有相关权限时,则会提示Permission denied;
Linux显示使用内存最多的十个进程 在Linux系统下,你可以使用一条命令显示当前系统使用内存最多的十个进程:
一定有你不知道的Python技巧 Python一直以代码简洁著称;想写出艺术般的代码,需要你掌握各种Python技巧,这些技巧有些是语言特性,有些则是广大程序员的经验心得;今天作者就给大家网罗了一些Python技巧,一起来看看吧。
Golang实现字符串的SHA1加密 本文将使用Go语言内置包 crypto/sha1 来实现SHA1加密。