在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Rust構(gòu)建QEMU插件的框架

jf_wN0SrCdH ? 來(lái)源:Rust語(yǔ)言中文社區(qū) ? 2023-07-21 16:57 ? 次閱讀

Cannonball Rust 構(gòu)建的 QEMU 插件的框架


Cannonball 是一個(gè)用 Rust 構(gòu)建 QEMU 插件的框架!您可以在 C 語(yǔ)言的 QEMU TCG 插件中執(zhí)行的任何操作,都可以使用cannonball。編寫(xiě)以最小的開(kāi)銷(xiāo)和盡可能多的功能運(yùn)行的插件!


例子


這里提供了幾個(gè)例子!

  • jaivana

一個(gè)簡(jiǎn)單的跟蹤器,將一組可配置的事件記錄到文件或標(biāo)準(zhǔn)輸出中。

  • mons meg


一個(gè)跟蹤器,記錄與 Jaivana 相同的事件,但使用 Tokio 在異步環(huán)境中運(yùn)行跟蹤,通過(guò) UNIX 套接字而不是匿名管道與主機(jī)進(jìn)行通信。 看看它們,它們是學(xué)習(xí)如何使用這個(gè)框架的最佳方式。


安裝


安裝 只需將其添加到您的 Cargo.toml:


	

cannonball = "0.2.4"

J
aivana 的演示例子:https://github.com/novafacing/cannonball/tree/main/examples/jaivana

kiddb 基于 Rust 的嵌入式存儲(chǔ)引擎


整體設(shè)計(jì)參考LevelDB,旨在作為NewSQL數(shù)據(jù)庫(kù)的存儲(chǔ)引擎

  • 支持嵌入式/單機(jī)存儲(chǔ)/遠(yuǎn)程調(diào)用等多應(yīng)用場(chǎng)景

  • 以Kiss作為開(kāi)發(fā)理念,設(shè)計(jì)以簡(jiǎn)單而高效為主導(dǎo)

  • 實(shí)現(xiàn)MVCC以支持ACID

  • 性能,BenchMark 讀取吞吐量約為 Sled 的兩倍,且大數(shù)據(jù)量下的讀取順序平均延遲為 1μs 左右

  • 遠(yuǎn)程連接使用ProtoBuf實(shí)現(xiàn),支持多語(yǔ)言通信

  • 極小內(nèi)存占用(占用/大量冷數(shù)據(jù))

  • 安全讀取

組件引入


	

kip_db = "0.1.1-alpha.0"

代碼

代碼編譯


	

cargo build

代碼編譯(正式環(huán)境)


	

cargo build --release

單元測(cè)試


	

cargo test

性能基準(zhǔn)測(cè)試


	

cargo bench

Docker鏡像編譯

編譯鏡像


	

docker build -t kould/kip-db:v1 .

運(yùn)行鏡像


	

docker run kould/kip-db:v1


直接調(diào)用(基本使用)


	

/// 指定文件夾以開(kāi)啟一個(gè)KvStore let kip_db = LsmStore::open("/welcome/kip_db").await?; // 插入數(shù)據(jù) kip_db.set(&b"https://github.com/KKould/KipDB", Bytes::from(&b"your star plz"[..])).await?; // 獲取數(shù)據(jù) let six_pence = kip_db.get(&b"my deposit").await?; // 已占有硬盤(pán)大小 let just_lot = kip_db.size_of_disk().await? // 已有數(shù)據(jù)數(shù)量 let how_many_times_you_inserted = kip_db.len().await?; // 刪除數(shù)據(jù) kip_db.remove(&b"ex girlfriend").await?; // 創(chuàng)建事務(wù) let mut transaction = kip_db.new_transaction().await?; // 插入數(shù)據(jù)至事務(wù)中 transaction.set(&b"this moment", Bytes::from(&b"hope u like it"[..])); // 刪除該事務(wù)中key對(duì)應(yīng)的value transaction.remove(&b"trouble")?; // 獲取此事務(wù)中key對(duì)應(yīng)的value let ping_cap = transaction.get(&b"dream job")?; // 提交事務(wù) transaction.commit().await?; // 創(chuàng)建持久化數(shù)據(jù)迭代器 let guard = kip_db.iter().await?; let mut iterator = guard.iter()?; // 獲取下一個(gè)元素 let hello = iterator.next_err()?; // 移動(dòng)至第一個(gè)元素 let world = iterator.seek(Seek::Last)?; // 強(qiáng)制數(shù)據(jù)刷入硬盤(pán) kip_db.flush().await?;


審核編輯:湯梓紅

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

    關(guān)注

    0

    文章

    327

    瀏覽量

    22442
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    458

    瀏覽量

    11855
  • qemu
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    5357
  • Rust
    +關(guān)注

    關(guān)注

    1

    文章

    228

    瀏覽量

    6607

原文標(biāo)題:【Rust日?qǐng)?bào)】2023-07-19 Cannonball -- Rust 構(gòu)建的 QEMU 插件的框架

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Rust GUI實(shí)踐之Rust-Qt模塊

    Rust-Qt 是 Rust 語(yǔ)言的一個(gè) Qt 綁定庫(kù),它允許 Rust 開(kāi)發(fā)者使用 Qt 框架來(lái)創(chuàng)建跨平臺(tái)的圖形界面應(yīng)用程序。Qt 是一個(gè)跨平臺(tái)的應(yīng)用程序
    的頭像 發(fā)表于 09-30 16:43 ?1598次閱讀

    框架插件結(jié)構(gòu)

    這里說(shuō)的框架插件結(jié)構(gòu)是指程序啟動(dòng)時(shí)或運(yùn)行中,去查看硬盤(pán)某個(gè)路徑下,有哪些插件模塊,然后把它們調(diào)用起來(lái)的這樣一種程序結(jié)構(gòu)。LabVIEW中實(shí)現(xiàn)這樣的程序機(jī)構(gòu)有兩種方法,一是利用LabVIEW Scripting中動(dòng)的態(tài)調(diào)用VI,二
    發(fā)表于 11-14 15:43

    只會(huì)用Python?教你在樹(shù)莓派上開(kāi)始使用Rust

    構(gòu)建所有腳本,但是您還需要代碼編輯器。在這個(gè)項(xiàng)目中,我將使用Code-OSS,這是VS Code的社區(qū)版本,您可以在Pi上安裝它,但這不是必需的。任何代碼編輯器都可以。創(chuàng)建Rust項(xiàng)目要?jiǎng)?chuàng)建Rust
    發(fā)表于 05-20 08:00

    QEMU簡(jiǎn)介

    目錄2.1 QEMU2.1.1 創(chuàng)建非標(biāo)準(zhǔn)的Rust程序2.1.2 代碼簡(jiǎn)介2.1.3 交叉編譯2.1.4 二進(jìn)制文件分析工具2.1.5 運(yùn)行2.1.6調(diào)試在本節(jié)中,我們將引導(dǎo)您完成編寫(xiě),構(gòu)建,刷新
    發(fā)表于 12-16 07:18

    RUST在嵌入式開(kāi)發(fā)中的應(yīng)用是什么

    Rust是一種編程語(yǔ)言,它使用戶能夠構(gòu)建可靠、高效的軟件,尤其是用于嵌入式開(kāi)發(fā)的軟件。它的特點(diǎn)是:高性能:Rust具有驚人的速度和高內(nèi)存利用率。可靠性:在編譯過(guò)程中可以消除內(nèi)存錯(cuò)誤。生產(chǎn)效率:優(yōu)秀
    發(fā)表于 12-24 08:34

    如何利用C語(yǔ)言去調(diào)用rust靜態(tài)庫(kù)呢

    qemu-vexpress-a9這個(gè)bsp做為我們的目標(biāo)平臺(tái)。這樣不用開(kāi)發(fā)板就可以測(cè)試了。先要安裝目標(biāo)環(huán)境,可以參考這個(gè)鏈接:Rust 嵌入式開(kāi)發(fā) STM32 和 RISC-Vrustup target
    發(fā)表于 06-21 10:27

    在Windows平臺(tái)使用Eclipse調(diào)試RT-Thread qemu-vexpress-a9 BSP工程

    和 Python 等開(kāi)發(fā)工具。Eclipse 的本身只是一個(gè)框架平臺(tái),但是眾多插件的支持使得 Eclipse 擁有其他功能相對(duì)固定的 IDE 軟件很難具有的靈活性。本文主要介紹在 Windows 平臺(tái)
    發(fā)表于 10-26 15:31

    Dockerfile構(gòu)建環(huán)境報(bào)錯(cuò)如何解決?

    版本,不是更高版本。作為參考,這里是構(gòu)建配置輸出。 誰(shuí)能幫我理解為什么 rust-llvm 會(huì)出現(xiàn)這個(gè)錯(cuò)誤?我是否需要手動(dòng)更新 poky 存儲(chǔ)庫(kù)以使用更新版本的 rust-llvm?
    發(fā)表于 04-11 06:17

    Rust代碼中加載靜態(tài)庫(kù)時(shí),出現(xiàn)錯(cuò)誤 ` rust-lld: error: undefined symbol: malloc `怎么解決?

    我正在 MCUXpresso IDE 中創(chuàng)建一個(gè)靜態(tài)庫(kù)。我正在使用 redlib 在我的代碼中導(dǎo)入 ` [i]stdlib.h`。它成功地構(gòu)建了一個(gè)靜態(tài)庫(kù)。但是,靜態(tài)庫(kù)中未定義一些標(biāo)準(zhǔn)庫(kù)函數(shù),例如
    發(fā)表于 06-09 08:44

    嵌入式編程中為什么使用qemuqemu的實(shí)際應(yīng)用

    qemu實(shí)際好用的應(yīng)用來(lái)進(jìn)行詳細(xì)的描述。 2.嵌入式的裸機(jī)或RTOS編程 qemu的是指令翻譯進(jìn)行的,所以可以根據(jù)實(shí)際的需求進(jìn)行相應(yīng)的裸機(jī)開(kāi)發(fā)和學(xué)習(xí),比如語(yǔ)言學(xué)習(xí),嵌入式C語(yǔ)言,嵌入式RUST語(yǔ)言,等等
    發(fā)表于 08-16 06:44

    KICAD插件使用說(shuō)明書(shū)

    KiCad 插件系統(tǒng)是?個(gè)使?共享庫(kù)擴(kuò)展 KiCad 功能的框架。 使?插件的?個(gè)主要優(yōu)點(diǎn)是在開(kāi)發(fā)插件時(shí)沒(méi)有必要重建KiCad 套件; 事實(shí)上,可以借助 KiCad 源代碼樹(shù)中的??組
    發(fā)表于 02-25 11:58 ?8次下載

    Rust重寫(xiě)的LSP:KCL IDE 插件的功能介紹與設(shè)計(jì)解析

    在這次更新中,我們發(fā)布了全新的 KCL VS Code 插件,并且用 Rust 重寫(xiě)了 LSP 的 Server 端。我們提供了 IDE 中常用的代碼輔助功能,如高亮、跳轉(zhuǎn)、補(bǔ)全、Outline、懸停、錯(cuò)誤提示等。
    的頭像 發(fā)表于 05-11 09:39 ?969次閱讀
    <b class='flag-5'>Rust</b>重寫(xiě)的LSP:KCL IDE <b class='flag-5'>插件</b>的功能介紹與設(shè)計(jì)解析

    Rust UI框架:Slint UI簡(jiǎn)單入門(mén)

    Slint 曾經(jīng)被稱為 SixtyFPS,特點(diǎn)是既快又小,是一個(gè) Rust 編寫(xiě)的綜合性 UI 工具包,用于為桌面和嵌入式設(shè)備構(gòu)建原生用戶界面。其開(kāi)發(fā)團(tuán)隊(duì)希望將 Slint 打造成下一代 GUI 工具包,因此從頭開(kāi)始構(gòu)建項(xiàng)目時(shí)就
    的頭像 發(fā)表于 05-12 16:03 ?1.5w次閱讀
    <b class='flag-5'>Rust</b> UI<b class='flag-5'>框架</b>:Slint UI簡(jiǎn)單入門(mén)

    JetBrains發(fā)布獨(dú)立Rust IDE:RustRover

    在推出 RustRover 之前,JetBrains 以插件形式在 IntelliJ IDEA 和 CLion 中支持 Rust 功能。現(xiàn)在他們開(kāi)發(fā)多年的開(kāi)源插件已成為 RustRover 的基礎(chǔ)。此
    的頭像 發(fā)表于 09-18 16:47 ?1050次閱讀
    JetBrains發(fā)布獨(dú)立<b class='flag-5'>Rust</b> IDE:RustRover

    [鴻蒙]OpenHarmony4.0的Rust開(kāi)發(fā)

    背景 Rust 是一門(mén)靜態(tài)強(qiáng)類型語(yǔ)言,具有更安全的內(nèi)存管理、更好的運(yùn)行性能、原生支持多線程開(kāi)發(fā)等優(yōu)勢(shì)。Rust 官方也使用 Cargo 工具來(lái)專門(mén)為 Rust 代碼創(chuàng)建工程和構(gòu)建編譯
    的頭像 發(fā)表于 02-26 17:28 ?892次閱讀
    [鴻蒙]OpenHarmony4.0的<b class='flag-5'>Rust</b>開(kāi)發(fā)
    主站蜘蛛池模板: 奇米7777| 久久影院午夜伦手机不四虎卡| ccav在线永久免费看| 一级毛片aaaaaa视频免费看| 奇米视频在线观看| 婷婷亚洲综合五月天小说在线| 日本68xxxxxxxxx老师| 亚洲成人三级电影| 国产成年女一区二区三区| 狠婷婷| 曰本又色又爽又黄三级视频| 恐怖片大全恐怖片免费观看好看的恐怖片| 午夜精品在线| 日本不卡在线视频| 农村妇女野外一级毛片| 免费特黄视频| 9久久99久久久精品齐齐综合色圆| 美女一级免费毛片| 免费人成网站线观看合集| 韩国男女无遮挡高清性视频| 巨乳色在线观看| 国产一级大片免费看| 午夜精品久久久久| 亚洲一区有码| 女人张开腿让男人桶免费网站| 日本加勒比高清一本大道| 狠狠色噜噜综合社区| 国产全黄三级三级| 欧美极品另类| 日韩一区二区三区在线| 我不卡午夜| 国产在线欧美精品卡通动漫| 黄色一级片视频| 欧美精品网站| 欧美色视频在线观看| 久久精品福利| 天堂bt资源新版在线| 天天摸日日碰天天看免费| 种子天堂bt磁力在线资源| 成人在线视频网址| 亚洲一区二区三区免费视频|