中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

大上海小程序開發(fā)搜索引擎優(yōu)化的主題

大上海小程序開發(fā),搜索引擎優(yōu)化的主題,謝崗網(wǎng)站仿做,網(wǎng)頁編輯的軟件工具包括在c語言中,條件編譯是一個非常好用的功能,那么rust中如何實現(xiàn)條件編譯呢? rust的條件編譯需要兩個部分,一個是fratures,另一個是cfg。Cargo feature是一個非常強大的功能,可以提供條件編譯和可選依賴項的高級特性&…

在c語言中,條件編譯是一個非常好用的功能,那么rust中如何實現(xiàn)條件編譯呢?
rust的條件編譯需要兩個部分,一個是fratures,另一個是cfgCargo feature是一個非常強大的功能,可以提供條件編譯和可選依賴項的高級特性,這里只用條件編譯功能

1 條件編譯

在C語言中,條件編譯需要先使用#defien XXX定義變量,然后再使用#ifdef XXX, #endif判斷編譯條件。那么在rust語言中如何實現(xiàn)呢?

1.1 定義變量

這一步相當于C語言中的變量的定義,即#defien XXX功能。
cargo.toml文件中使用feature,使用方式如下:

[features]
dbug = []
udug = []

上述代碼相當于是有了兩個編譯條件

1.2 條件編譯

在C語言中,條件編譯的實現(xiàn)是#ifdef,在rust中則是使用#[cfg()]或者cfg!宏實現(xiàn),代碼如下:

#[cfg(feature = "dbus")] 
{println!("dbus");printf_dbus();
}// 或者
if cfg!(feature = "dbus") {println!("dbus");printf_dbus(); 
}

1.3 整個文件都需要使用條件編譯

當整個文件都需要使用條件編譯的時候,可以直接在文件的最開始使用#[cfg()]。假設(shè)dbus.rs整體都需要條件編譯,示例如下:

#[cfg(feature = "dbus")]
pub mod debus {struct xxxx{}pub fn dbus_xxxx() {}
}

使用該文件中的函數(shù)

mod dbususe crate::dbus::debus::*;fn main()
{#[cfg(feature = "dbus")]{dbus_xxxx();}
}

1.4 編譯代碼

使用條件編譯,在編譯代碼的時候需要使用下面命令,就可以將dbus代碼編譯進去。

cargo build --features "dbus"

默認編譯
在編譯代碼不使用 --reatures選項的時候,代碼會編譯一個叫做default的默認字段,當沒有任何默認需要編譯的條件時,該字段可以省略,如下所示:

[features]
dbug = []
udug = []

如果在默認編譯個時候需要編譯dbug部分代碼,則default部分可以寫成如下方式:

[features]
default = ["dbug",]
dbug = []
udug = []

2 代碼

代碼下載:rust條件編譯
目錄結(jié)構(gòu)
在這里插入圖片描述

cargo.toml

[package]
name = "feature_learn"
version = "0.1.0"
edition = "2021"# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html[dependencies][features]
default = []
dbus = []
ubus = []

main.rs

mod dbus;
#[cfg(feature = "dbus")] 
use crate::dbus::debus::*;
// use crate::dbus::debus as debus;fn main() {println!("Hello, world!");#[cfg(feature = "dbus")] {println!("dbus");printf_dbus();}#[cfg(feature = "ubus")] {println!("ubus");} println!("default");// if cfg!(feature = "dbus") {//     println!("dbus");//     printf_dbus();// } else if cfg!(feature = "dbus")// {//     println!("ubus");// } else {//     println!("default")// };
}

dbug.rs

#[cfg(feature = "dbus")] 
pub mod debus {
struct Dbus {arg1:i32,arg2:i32,arg3:i32,
}pub fn printf_dbus() 
{let dbus = Dbus {arg1:1,arg2:2,arg3:3,};println!("dbus: {} {} {}", dbus.arg1, dbus.arg2, dbus.arg3);
}
}
http://www.risenshineclean.com/news/48800.html

相關(guān)文章:

  • 萬維網(wǎng)的網(wǎng)站抖音優(yōu)化排名
  • 南寧美麗南方官方網(wǎng)站建設(shè)意見企業(yè)網(wǎng)站建設(shè)的基本流程
  • 網(wǎng)站開通后百度廣告收費
  • 固始做網(wǎng)站網(wǎng)絡(luò)銷售哪個平臺最好
  • 幼兒園50個主題網(wǎng)絡(luò)圖關(guān)鍵詞優(yōu)化的作用
  • 張家港安監(jiān)站網(wǎng)址應(yīng)用商店下載
  • 網(wǎng)站空間有什么用外貿(mào)網(wǎng)站營銷推廣
  • 外貿(mào)網(wǎng)站建設(shè)步驟網(wǎng)店營銷
  • 動漫制作專業(yè)可以專升本嗎上海有哪些優(yōu)化網(wǎng)站推廣公司
  • 瀘州網(wǎng)站開發(fā)公司襄陽百度開戶
  • 娛樂手機網(wǎng)站開發(fā)優(yōu)化大師破解版app
  • 個人做網(wǎng)站的流程中國網(wǎng)絡(luò)優(yōu)化公司排名
  • 機械網(wǎng)站推廣怎么做公眾號軟文素材
  • 怎么做企業(yè)招聘網(wǎng)站希愛力的作用與功效
  • 濟南做網(wǎng)站推廣哪家好網(wǎng)銷是做什么的
  • 優(yōu)秀排版設(shè)計網(wǎng)站聊城網(wǎng)站開發(fā)
  • 邢臺做移動網(wǎng)站費用國內(nèi)新聞最新
  • 做酸菜視頻網(wǎng)站今日頭條國際新聞
  • 什么是網(wǎng)絡(luò)營銷?網(wǎng)絡(luò)營銷的特點有哪些?昆明seo關(guān)鍵詞
  • 做公司網(wǎng)站需要準備什么開魯網(wǎng)站seo不用下載
  • 北京市昌平建設(shè)工程招標網(wǎng)站世界杯比分查詢
  • 做ppt哪個網(wǎng)站好nba今日數(shù)據(jù)
  • 建設(shè)一個視頻網(wǎng)站友鏈提交入口
  • 移動互聯(lián)網(wǎng)網(wǎng)站建設(shè)廣告宣傳費用一般多少
  • 鞋子 東莞網(wǎng)站建設(shè)營銷軟件代理推廣
  • 網(wǎng)站的制作優(yōu)化網(wǎng)站收費標準
  • 青浦網(wǎng)絡(luò)公司網(wǎng)站官方推廣平臺
  • 皇崗網(wǎng)站建設(shè)成都自然排名優(yōu)化
  • 備案 手機網(wǎng)站專門做推廣的軟文
  • 專業(yè)做網(wǎng)站設(shè)計公司價格新網(wǎng)站如何推廣