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

分类: 计算机技术
推荐阅读:
MATLAB使用误差扩散法进行图像半色调处理 误差扩散法(Error Diffusion)是一种常用的图像半色调处理方法,它的基本思想是通过将误差扩散到周围的像素点来逐渐逼近目标灰度值,从而实现图像半色调处理的效果。
Python dict()函数 在Python中,dict()函数用于创建一个字典对象。它可以接受不同类型的参数,并根据参数的不同生成字典对象。具体来说,dict()函数有以下三种使用方式:
C语言strcpy()函数:复制字符串 strcpy()函数会将源字符串中的内容复制到目标字符串中,直至遇到字符串终止符'\0';复制过程中,包括字符串终止符'\0'在内的所有字符都会被复制;
Python float()函数 在 Python 中,float()是一个内置函数,用于将字符串、整数或其他数字类型转换为浮点数类型。
使用Session实例让requests保持会话 Session对象能让你跨请求保持某些参数;最长常见的是,当你使用requests尝试登录并且验证成功,服务端会返回一些Cookie,这些Cookie可以使你的下次请求不需要验证,而Session对象能保持这些Cookie,而不用你每次提交请求时构建一个新的Cookie。
查看Linux系统是32位还是64位 在Linux系统下,你可以通过一条命令获得系统是32位的还是64位的: