您现在的位置是:亿华云 > 域名
KDAB 推出 CXX-Qt ,为 Qt 提供安全的 Rust 语言绑定
亿华云2025-10-04 00:41:24【域名】8人已围观
简介专注于 KDE/Qt 的科技公司 KDAB 一直在努力改进 Rust 与 Qt 工具包的集成,近日他们推出了 CXX-Qt ,称该工具可为 Qt 提供安全的 Rust 语言绑定。
专注于 KDE/Qt 的推出提供科技公司 KDAB 一直在努力改进 Rust 与 Qt 工具包的集成,近日他们推出了 CXX-Qt ,安全称该工具可为 Qt 提供安全的语言绑 Rust 语言绑定。
Rust 拥有 C/C++ 欠缺的推出提供内存安全性,且拥有丰富的安全库生态系统,可用于(反)序列化、语言绑异步、推出提供解析不安全输入、安全线程等,语言绑将这些 Rust 库集成到 Qt 应用程序中将为 Qt 带来大量安全优化。推出提供
但目前将 Rust 与 Qt 结合的安全解决方案都存在一些问题,比如仅提供对 C++ API 的语言绑直接访问而不是对 Rust 的直接绑定、C++ 和 Rust 之间的推出提供调用不安全,又或者没有利用 Rust 强大的安全多线程保证或特性等等。
而据 KDAB 介绍,语言绑其新推出的 CXX-Qt 不是简单地为现有的源码下载 C++ API 提供绑定,而是利用了 Qt 强大的面向对象和元对象系统,该库允许在 Rust 中将新的 QObject 子类定义为模块,甚至可以像 QML 甚至 C++ 中的任何其他 QObject 一样被实例化。
CXX-Qt 定义的每一个 QObject 都由两部分组成:
一个基于 C++ 的 QObject 实例,存储和公开属性和可调用方法一个实现任何可调用对象、管理内部状态,并处理来自属性或后台线程的更改请求的 Rust 结构然后 CXX-Qt 使用一个名为 CXX 的库在 Rust 和 C++ 之间进行通信,与普通绑定相比,CXX 在 Rust 和 C++ 之间建立了一座桥梁,它基于两种语言的安全子集。CXX-Qt 通过使用过程宏隐藏了 CXX 桥的详细信息,还提供了一个常见的 Qt 类型库,可以安全地跨过 C++ <-> Rust 桥,此外还为 Rust 后台线程提供了通知和安全更新 Qt 线程上的 Qt 状态的高防服务器机制。
这种方法的缺点是 CXX-Qt 不提供一对一的绑定,因此,CXX-Qt 需要跨桥暴露和实现每一个特性。
需要注意的是,CXX-Qt 目前不是稳定、可用于生产的版本。目前,现有代码能够执行以下任务:
定义属性和可调用对象,将它们暴露在 QObject 上使用常见的 Qt 类型监听属性更改或处理来自后台 Rust 线程的更新请求未来计划添加以下任务/功能:
其他 Qt 基类(如 QAbstractItemModel)稳定宏的 API,改进 Qt 类型的 API定义和发出信号扩展文档,以包含教程和示例感兴趣的朋友可在其 GitHub 仓库查看进度。
本文转自OSCHINA
本文标题:KDAB 推出 CXX-Qt ,为 Qt 提供安全的 Rust 语言绑定
本文地址:https://www.oschina.net/news/184966/cxx-qt-rust-bindings
很赞哦!(4)
相关文章
- 要如何了解反向解析和域名解析?新手该怎么去操作?
- 最常问的MySQL面试题集合
- 老司机也必须掌握的MySQL优化指南
- 回调函数在命令解析中的应用
- 个人域名转为公司需要什么条件?个人域名转为公司该怎么做?
- 搭建自己的聊天室平台、公司内部聊天平台,Rocket.Chat搭建使用
- 四行代码,Python搞定美图秀秀!
- 一行Python代码写的游戏,我能这样玩一天!
- 在数以亿计的网站中,我们应该抓住每一个可能带来宣传的机会,域名可以带有企业的名字,一般可以使用汉语拼音或者英语单词或者是相关缩写的形式,只要用户记住了你企业的名字,就能很容易的打出你的网站域名,同样的,记住了网站域名也能很快的记住你公司的名字。
- pydbgen:一个数据库随机生成器