chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

cargo careful:為你的代碼提供更多安全保證

jf_wN0SrCdH ? 來源:Rust語(yǔ)言中文社區(qū) ? 作者:hsqStephenZhang ? 2022-10-27 09:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

cargo careful:為你的代碼提供更多安全保證

您是否知道標(biāo)準(zhǔn)庫(kù)充滿了用戶永遠(yuǎn)看不到的有用檢查?標(biāo)準(zhǔn)庫(kù)中有很多斷言,它們會(huì)做一些事情,比如檢查char::from_u32_unchecked必須針對(duì)一個(gè)有效的 char、CStr::from_bytes_with_nul_unchecked只能在沒有內(nèi)部 null 字節(jié)的情況下調(diào)用,copy或者copy_nonoverlapping必須針對(duì)內(nèi)存布局對(duì)齊的非 null 指針(非重疊)。但是,由 rustup 分發(fā)的常規(guī)標(biāo)準(zhǔn)庫(kù)是在沒有調(diào)試斷言的情況下編譯的,因此用戶很難從這些額外檢查中受益。

cargo careful 就是為了彌補(bǔ)這個(gè)差距,它在第一次調(diào)用時(shí),會(huì)從源代碼構(gòu)建一個(gè)帶有調(diào)試斷言的標(biāo)準(zhǔn)庫(kù),然后使用該標(biāo)準(zhǔn)庫(kù)運(yùn)行您的程序或測(cè)試套件。

您可以通過cargo install cargo-careful快速安裝,然后執(zhí)行cargo +nightly careful run/test用于執(zhí)行二進(jìn)制 crate 或測(cè)試,并進(jìn)行額外的調(diào)試檢查。

需要注意的是,這自然會(huì)比常規(guī)調(diào)試或發(fā)布版本慢,但它比在 Miri 中執(zhí)行程序要快得多,并且仍然有助于找到一些未定義的行為。當(dāng)然,如果您想要更加徹底的檢查,Miri 會(huì)是一個(gè)更好的選擇,兩者結(jié)合使用,體驗(yàn)更佳。

Axum 風(fēng)格的函數(shù)參數(shù)示例

作者使用 Axum 時(shí)候,思考了這樣一件事:Rust 是一個(gè)靜態(tài)編譯的語(yǔ)言,并且沒有函數(shù)重載和可選參數(shù)這類特性,但是 Axum 中,get函數(shù)卻可以接收不同類型的函數(shù)指針,這是為什么呢?

pYYBAGNZ5MCAYh6nAAD3HjtnuF0048.jpg

作者創(chuàng)建了一個(gè)倉(cāng)庫(kù),動(dòng)手實(shí)踐,詳細(xì)解釋了其中的奧秘。

值得一提的是,Axum 當(dāng)時(shí)也參考了 bevy 的 query system 設(shè)計(jì)。

編譯器優(yōu)化的思考

Rust 編譯器背后為我們做了很多優(yōu)化,但是,如果讓你來實(shí)現(xiàn),你會(huì)如何下手呢?典型的思路可能是:

找到可以應(yīng)用特定優(yōu)化方法的場(chǎng)景

通過分析,找到這種場(chǎng)景

應(yīng)用你的優(yōu)化方法

如果將很多編譯優(yōu)化方法結(jié)合起來,編譯器的性能就能提升一大截。但是,這也絕非易事,在一個(gè)場(chǎng)景下實(shí)現(xiàn)編譯優(yōu)化,所要考慮的因素和需要的信息,遠(yuǎn)比你想象的要多。

本文的作者就通過幾個(gè)例子,解釋了他對(duì)于編譯優(yōu)化背后的思考,相信你耐心看完,肯定有不少收獲。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1672

    瀏覽量

    51577
  • rust語(yǔ)言
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    3278

原文標(biāo)題:【Rust日?qǐng)?bào)】2022-09-27 cargo careful:為你的代碼提供更多安全保證

文章出處:【微信號(hào):Rust語(yǔ)言中文社區(qū),微信公眾號(hào):Rust語(yǔ)言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    安全芯片能否保證芯片安全?

    ,由于軟件加密只是增加破解難度,不能防止復(fù)制,越來越多的設(shè)計(jì)采用硬件加密方式來保護(hù)IPCORE。以常見的MCu+存儲(chǔ)器系統(tǒng)例,通常的保護(hù)模式是在系統(tǒng)文件中設(shè)置一段用于驗(yàn)證的加密安全代碼,通過存儲(chǔ)器
    發(fā)表于 10-10 14:42

    使用PMIC來保證的系統(tǒng)安全

    當(dāng)你在設(shè)計(jì)安全控制面板或是自動(dòng)門鎖等電池供電運(yùn)行的便攜式系統(tǒng)時(shí),電路板上的每一英寸都很寶貴,每一秒鐘的操作與運(yùn)行也十分重要,并且(最后一點(diǎn),不過也很重要)系統(tǒng)所花費(fèi)的每一分錢都應(yīng)該發(fā)揮其應(yīng)有
    發(fā)表于 09-06 15:31

    工業(yè)用物聯(lián)網(wǎng)多種行業(yè)提供更多服務(wù)

    (比如說能源、制造、養(yǎng)護(hù)維修等),并且為多種行業(yè)提供更高的安全和安防性能、更好的使用體驗(yàn)、全新的業(yè)務(wù)服務(wù),以及其它更多功能,這些行業(yè)包括:智能制造業(yè):為了改進(jìn)制造工藝,制造商正在將有線和無線連通性添加到
    發(fā)表于 09-10 11:57

    未來汽車的安全怎么保證

    ,同時(shí)讓我們可以更有效地利用現(xiàn)有的道路設(shè)施,在減少安全事故的同時(shí)實(shí)現(xiàn)更大的交通流量。 回到之前的話題,在改善駕駛員輔助、自動(dòng)駕駛員服務(wù)和實(shí)現(xiàn)更多自主功能的同時(shí),開發(fā)人員如何保證這些自主駕駛系統(tǒng)不會(huì)
    發(fā)表于 03-27 06:45

    能否提供示例的源代碼或?yàn)閣ifi連接模塊添加更多入門指南呢?

    預(yù)算項(xiàng)目使用繁重的操作系統(tǒng))。我喜歡“STM32H7B3I-DK 編譯的演示二進(jìn)制文件”中的示例,但找不到源代碼。您能否提供示例的源代碼或?yàn)?wifi 連接模塊添加更多入門指南?謝謝。
    發(fā)表于 12-06 06:15

    如何在構(gòu)建yocto時(shí)將rust和cargo包安裝為圖像?

    我正在使用 5.15.72。 當(dāng)我制作 imx 完整圖像時(shí),我嘗試包括 rust 和 cargo知不知道怎么?
    發(fā)表于 05-09 07:10

    如何保證安全用電

    如何保證安全用電是電工實(shí)用技術(shù)叢書,本書結(jié)構(gòu)合理、選材適當(dāng)、文字精練、深入淺出,對(duì)如何保證安全用電作了系統(tǒng)全面的分析介紹?!度绾?b class='flag-5'>保證
    發(fā)表于 11-09 14:27 ?0次下載
    如何<b class='flag-5'>保證</b><b class='flag-5'>安全</b>用電

    KIOCWORK:通過源代碼分析保證軟件安全

    KIOCWORK公司給軟件開發(fā)人員、構(gòu)架師和安全專家提供檢查、評(píng)估、處理、度量軟件安全漏洞的工具,這些活動(dòng)是軟件開發(fā)過程中不可或缺的重要組成部分。 通過使用KIOCWORK源代碼分析工
    發(fā)表于 04-03 22:21 ?12次下載

    谷歌向手機(jī)廠商發(fā)出警告 修改Android內(nèi)核代碼將暴露更多安全Bug

    對(duì)于越來越多手機(jī)廠商在原來Android系統(tǒng)上修改內(nèi)核的做法,谷歌真的是看不下去了,其警告廠商,修改Android內(nèi)核代碼的行為將會(huì)暴露更多安全Bug。
    的頭像 發(fā)表于 02-17 15:22 ?3118次閱讀

    華為云順利通過TISAX認(rèn)證,汽車行業(yè)上云提供更多安全保障

    極高保護(hù)要求和數(shù)據(jù)保護(hù)標(biāo)簽,是目前唯一國(guó)內(nèi)數(shù)據(jù)中心完成TISAX認(rèn)證的云服務(wù)商。這表明華為云獲得了汽車行業(yè)提供云服務(wù)的重要資質(zhì),可以為汽車行業(yè)客戶安全上云提供
    的頭像 發(fā)表于 12-29 14:16 ?3272次閱讀
    華為云順利通過TISAX認(rèn)證,<b class='flag-5'>為</b>汽車行業(yè)上云<b class='flag-5'>提供</b><b class='flag-5'>更多</b><b class='flag-5'>安全</b>保障

    保證鋰離子電池安全的設(shè)計(jì)資料下載

    電子發(fā)燒友網(wǎng)提供保證鋰離子電池安全的設(shè)計(jì)資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼
    發(fā)表于 04-05 08:40 ?8次下載
    <b class='flag-5'>保證</b>鋰離子電池<b class='flag-5'>安全</b>的設(shè)計(jì)資料下載

    cargo-offline命令解讀

    修改過,來給被包裝的 cargo 命令條件地增補(bǔ) --offline 命令行參數(shù)(即,離線編譯)。形象地講,就是將 cargo check 條件地變形 cargo check --o
    的頭像 發(fā)表于 12-01 15:41 ?1880次閱讀

    CARGO:改變您使用3D資產(chǎn)的方式

    今天我們發(fā)布了Cargo,這款軟件將徹底改變您使用3D資產(chǎn)的方式。Cargo適用于Windows,開箱即用,可與Blender、Unreal、3dsMax 和Maya等3D軟件一起使用。讓我們解開
    的頭像 發(fā)表于 06-26 10:08 ?1877次閱讀

    如何安裝和使用cargo

    Cargo是Rust語(yǔ)言的包管理器和構(gòu)建工具。它能夠幫助我們管理依賴、構(gòu)建項(xiàng)目、運(yùn)行測(cè)試和發(fā)布程序等。在Rust社區(qū)中,Cargo已經(jīng)成為了標(biāo)準(zhǔn)的構(gòu)建工具,它為Rust的開發(fā)者提供了極大的便利
    的頭像 發(fā)表于 09-20 11:28 ?3174次閱讀

    如何知道代碼是否線程安全

    的?如何知道代碼是否線程安全?要如何訪問數(shù)據(jù)才能保證數(shù)據(jù)的安全? 本篇文章會(huì)一一回答的問題
    的頭像 發(fā)表于 11-01 11:42 ?1398次閱讀
    如何知道<b class='flag-5'>你</b>的<b class='flag-5'>代碼</b>是否線程<b class='flag-5'>安全</b>