成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發(fā) 開發(fā)工具
近日他們推出了 CXX-Qt ,稱該工具可為 Qt 提供安全的 Rust 語言綁定。Rust 擁有 C/C++ 欠缺的內(nèi)存安全性,且擁有豐富的庫生態(tài)系統(tǒng),可用于(反)序列化、異步、解析不安全輸入、線程等,將這些 Rust 庫集成到 Qt 應(yīng)用程序中將為 Qt 帶來大量安全優(yōu)化。

專注于 KDE/Qt 的科技公司 KDAB 一直在努力改進(jìn) Rust 與 Qt 工具包的集成,近日他們推出了 CXX-Qt ,稱該工具可為 Qt 提供安全的 Rust 語言綁定。

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

但目前將 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 一樣被實例化。

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

  • 一個基于 C++ 的 QObject 實例,存儲和公開屬性和可調(diào)用方法
  • 一個實現(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ī)制。

這種方法的缺點是 CXX-Qt 不提供一對一的綁定,因此,CXX-Qt 需要跨橋暴露和實現(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

責(zé)任編輯:未麗燕 來源: 開源中國
相關(guān)推薦

2021-03-23 14:50:16

編程語言Rust漏洞

2011-06-20 13:54:41

Qt 動態(tài) 切換

2019-08-20 15:11:02

Aruba 中小企業(yè)無線

2011-06-23 15:10:39

Qt 窗體

2011-06-23 11:16:39

Qt Excel

2011-06-13 14:29:40

Qt Designer

2021-04-14 15:21:25

ArubaESP邊緣計算

2010-12-28 09:57:11

SymbianQtMeeGo

2024-02-26 07:26:27

RustC++開發(fā)

2011-06-21 09:19:24

Qt 界面 多國語言

2011-09-01 14:04:45

QT Webkit插件

2011-05-03 09:14:45

QtOvi商店Symbian

2019-03-19 13:05:18

微軟瀏覽器Windows 10

2011-06-22 10:12:08

Qt 線程

2011-06-24 10:05:51

QT 對象 父對象

2015-11-23 18:00:41

Qt互聯(lián)網(wǎng)汽車

2010-10-14 09:04:36

2011-06-22 09:40:32

QT 模板庫 模板

2011-07-05 14:46:34

2011-06-23 14:05:32

Qt 事件機(jī)制
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 少妇一区在线观看 | 求个av网址 | 日韩在线中文字幕 | 91免费版在线 | 国产99久久精品一区二区永久免费 | 在线色网站 | 天天精品综合 | 久久激情视频 | 97视频在线观看网站 | 国产区高清 | 一区二区免费看 | 伊人春色成人 | 亚洲精品一区二区网址 | 亚洲国产二区 | 午夜精品久久久久久久久久久久久 | 国产精品久久久久久久久久 | 亚洲国产一区二区视频 | 国产欧美在线 | 极品在线| 国产精品日韩欧美一区二区三区 | 成人亚洲精品 | 国产午夜精品一区二区三区 | 国产一区二区在线看 | 日本久久久一区二区三区 | 亚洲欧美在线一区 | 日韩一级免费大片 | 日本三级播放 | 亚洲狠狠爱一区二区三区 | 91久久久久久久久久久久久 | 91视频精选 | 中文字幕在线第一页 | 国产免费一二三区 | 亚洲国产福利视频 | 国产精品美女久久久久久久久久久 | 欧美video | 99久久久国产精品 | 性天堂网 | 亚洲女人的天堂 | 黄色在线免费网站 | 国产精品久久久久久久久久久久 | 中文字幕视频在线 |