jjzjj

rust-analyzer

全部标签

50从零开始用Rust编写nginx,原来TLS证书还可以这么申请

wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,负载均衡,静态文件服务器,websocket代理,四层TCP/UDP转发,内网穿透等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy设计目标让系统拥有acme的能力,即可以领取Let'sEncrypt的证书签发,快速实现上线部署。acme是什么?ACME(AutomatedCertificateManagementEnvironment)是一

30天拿下Rust之前世今生

概述        随着软件开发的不断发展和进步,编程语言也在不断地涌现和更迭。其中,Rust作为一种相对较新的编程语言,已经在短短几年内引起了广泛的关注和讨论。Rust语言犹如一颗璀璨的新星,以其独特的设计理念和强大的性能优势,吸引了全球开发者的眼球。它的诞生、成长与发展历程,既是一部技术革新的编年史,也是一场对软件工程未来方向深度探索的实践之旅。Rust的诞生        Rust的诞生可以追溯到2006年,当时Mozilla公司的研究员GraydonHoare开始思考如何解决C++的一些痛点。他认为,C++虽然强大,但也存在很多难以避免的问题,比如:内存安全、并发和线程安全等。这些问题

Rust 智能指针

本文在原文基础上有删减,原文参考Rust智能指针目录使用Box指向堆上的数据使用Box在堆上储存数据Box允许创建递归类型conslist的更多内容计算非递归类型的大小使用Box给递归类型一个已知的大小通过Dereftrait将智能指针当作常规引用处理追踪指针的值像引用一样使用Box自定义智能指针通过实现Dereftrait将某类型像引用一样处理函数和方法的隐式Deref强制转换Deref强制转换如何与可变性交互使用DropTrait运行清理代码通过std::mem::drop提早丢弃值Rc引用计数智能指针使用Rc共享数据克隆Rc会增加引用计数RefCell和内部可变性模式通过RefCell在

vscode中 rust-analyzer插件报错 failed to find any projects in [AbsPathBuf 或者FetchWorkspaceError的解决办法

背景一般来说,如果vscode打开的是rust项目的根目录(即目录下有Cargo.toml和src/文件),rust-analyzer插件可以识别到项目。而如果rust项目只是vscode资源管理器打开的子目录,则有时会出现failedtofindanyprojectsin[AbsPathBufxxx或者FetchWorkspaceError的报错,rust-analyzer也无法正常运行,如下图所示:解决办法vscode侧边栏打开rust-analyzer插件,进入扩展设置也可以ctrl+shift+P进入“首选项:工作区设置”,在上面的输入栏里输入@ext:rust-lang.rust-a

2024 年,Rust 越来越火了

2月19日,Rust发布了2023年度的调查报告。这项调查已经连续进行了八年,吸引了众多Rust项目的维护者、贡献者以及对Rust未来发展感兴趣的人士参与。2023年度Rust状况调查于2023年12月18日开始,并持续至2024年1月15日。Rust团队正在探索一个更为高效、可持续的流程,旨在更快地收集并分析数据,从而为社区提供更深入、更有价值的见解。Rust用途2023年,自称是Rust用户的受访者比例略有上升,从2022年的91%增长到2023年的93%。在2023年使用Rust的人群中,有49%的人每天都在使用Rust,与去年相比增长了2个百分点,呈现出轻微的上升趋势。在非Rust用户

c++ - 当通过 FFI 从 Rust 调用时,您如何使用返回 shared_ptr<T> 的 C++ 函数?

C++shared_ptrcreate_foo();使用rustextern"C"{pubfncreate_foo()->???;}Bindgen将shared_ptr变成不透明的blob。我不能只使用原始指针,因为这样C++代码就不知道我有一个对Foo的引用,并且可能会调用它的解构函数。 最佳答案 std::shared_ptr是一个C++类和一个非平凡的类型,不能按原样从库中导出——您需要它在目标语言中的定义符合C++中的定义.要使用FFI,您需要为您的库函数提供一个简单的CABI(C++ABI不稳定,可能会在编译器版本之间发生

49从零开始用Rust编写nginx,我竟然在同一个端口上绑定了多少IP

wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,负载均衡,静态文件服务器,websocket代理,四层TCP/UDP转发,内网穿透等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/tickbh/wmproxy设计目标快速的设置多IP绑定,及IP端口段的支持,方便快速的自定义能力。IP解析示例以下是常见的IP解析示例情况,本地ip为192.168.0.100示例:正常IP解析127.0.0.1:8869解析成ipv41

教你用Rust实现Smpp协议

本文分享自华为云社区《华为云短信服务教你用Rust实现Smpp协议》,作者:张俭。协议概述SMPP(ShortMessagePeer-to-Peer)协议起源于90年代,最初由Aldiscon公司开发,后来由SMPP开发者论坛维护和推广。SMPP常用于在SMSC(ShortMessageServiceCenter,短信中心)和短信应用之间传输短消息,支持高效的短信息发送、接收和查询功能,是电信运营商和短信服务提供商之间互通短信的主要协议之一。SMPP协议基于客户端/服务端模型工作。由客户端(短信应用,如手机,应用程序等)先和SMSC建立起TCP长连接,并使用SMPP命令与SMSC进行交互,实现

RustGLM SDK:智谱 AI 自然语言大模型 Zhipu ChatGLM Rust SDK

RustGLMforChatGLMRustSDK-Github项目高性能、高品质体验和可靠的Rust语言ChatGLMSDK自然语言处理功能1.准备开始1.1安装Rust-up可删减程序(👇此处仅显示Windows和Android文件)Rust-up-Windows-x64-InstallationRust-up-Windows-x32-InstallationRust-up-aarch64-android-Installation如果你是Linux用户orMacOS用户,你可以点击这里进行查看:用户安装手册1️⃣安装后,请使用命令行检查Rust版本:cargo-Vorcargo--versi

c++ - 当库使用模板(泛型)时,是否可以使用 Rust 的 C++ 库?

当库(例如Boost)使用模板(泛型)时,是否可以使用来自Rust的C++库? 最佳答案 是,但它可能不实用。D编程语言是为数不多的提供某种程度的C++互操作性的语言之一;您可以在dlang上阅读更多相关信息.注意模板部分的限制:NotethatallinstantiationsusedinDcodemustbeprovidedbylinkingtoC++objectcodeorsharedlibrariescontainingtheinstantiations.这实际上意味着您必须使用C++代码来实例化具有正确类型的模板,然后D编