av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

KDAB推出CXX-Qt,為Qt提供安全的Rust語言綁定

Rust 擁有 C/C++ 欠缺的內(nèi)存安全性,且擁有豐富的庫生態(tài)系統(tǒng),可用于(反)序列化、異步、解析不安全輸入、線程等,將這些 Rust 庫集成到 Qt 應(yīng)用程序中將為 Qt 帶來大量安全優(yōu)化。

成都創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為稱多企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站設(shè)計,稱多網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

但目前將 Rust 與 Qt 結(jié)合的解決方案都存在一些問題,比如僅提供對 C++ API 的直接訪問而不是對 Rust 的直接綁定、C++ 和 Rust 之間的調(diào)用不安全,又或者沒有利用 Rust 強(qiáng)大的多線程保證或特性等等。

而據(jù) KDAB 介紹,其新推出的 CXX-Qt 不是簡單地為現(xiàn)有的 C++ API 提供綁定,而是利用了 Qt 強(qiáng)大的面向?qū)ο蠛驮獙ο笙到y(tǒng),該庫允許在 Rust 中將新的 QObject 子類定義為模塊,甚至可以像 QML 甚至 C++ 中的任何其他 QObject 一樣被實(shí)例化。

CXX-Qt 定義的每一個 QObject 都由兩部分組成:

  • 一個基于 C++ 的 QObject 實(shí)例,存儲和公開屬性和可調(diào)用方法
  • 一個實(shí)現(xiàn)任何可調(diào)用對象、管理內(nèi)部狀態(tài),并處理來自屬性或后臺線程的更改請求的 Rust 結(jié)構(gòu)

然后 CXX-Qt 使用一個名為 CXX 的庫在 Rust 和 C++ 之間進(jìn)行通信,與普通綁定相比,CXX 在 Rust 和 C++ 之間建立了一座橋梁,它基于兩種語言的安全子集。CXX-Qt 通過使用過程宏隱藏了 CXX 橋的詳細(xì)信息,還提供了一個常見的 Qt 類型庫,可以安全地跨過 C++ <-> Rust 橋,此外還為 Rust 后臺線程提供了通知和安全更新 Qt 線程上的 Qt 狀態(tài)的機(jī)制。

這種方法的缺點(diǎn)是 CXX-Qt 不提供一對一的綁定,因此,CXX-Qt 需要跨橋暴露和實(shí)現(xiàn)每一個特性。

需要注意的是,CXX-Qt 目前不是穩(wěn)定、可用于生產(chǎn)的版本。目前,現(xiàn)有代碼能夠執(zhí)行以下任務(wù):

  • 定義屬性和可調(diào)用對象,將它們暴露在 QObject 上
  • 使用常見的 Qt 類型
  • 監(jiān)聽屬性更改或處理來自后臺 Rust 線程的更新請求

未來計劃添加以下任務(wù)/功能:

  • 其他 Qt 基類(如 QAbstractItemModel)
  • 穩(wěn)定宏的 API,改進(jìn) Qt 類型的 API
  • 定義和發(fā)出信號
  • 擴(kuò)展文檔,以包含教程和示例

感興趣的朋友可在其?? GitHub?? 倉庫查看進(jìn)度。

本文轉(zhuǎn)自O(shè)SCHINA

本文標(biāo)題:KDAB 推出 CXX-Qt ,為 Qt 提供安全的 Rust 語言綁定

本文地址:https://www.oschina.net/news/184966/cxx-qt-rust-bindings


新聞標(biāo)題:KDAB推出CXX-Qt,為Qt提供安全的Rust語言綁定
地址分享:http://uogjgqi.cn/article/dhcscph.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流