随笔分类 - language----------
摘要:Cargo 使用了缓存的方式提升构建效率,当构建时,Cargo 会将已下载的依赖包放在 CARGO_HOME 目录下,下面一起来看看。 Cargo Home 默认情况下,Cargo Home 所在的目录是 $HOME/.cargo/,例如在 macos ,对应的目录是: $ echo $HOME/.
        阅读全文
                
摘要:在這篇文章中,我們將創建一個能執行的 Rust 腳本來測量 CPU 的性能。 爲了實現目標,我們將創建一些在循環中運行的虛擬計算,分佈在所有可用的 CPU 內核上。理想情況下,我們的計算需要 CPU 密集型任務,所以我們儘可能接近 100% 的 CPU 使用率。 創建一個 Rust 項目: carg
        阅读全文
                
摘要:在這篇文章中,我們將使用 gRPC 創建一個基本的 Todo 應用程序。首先,我們將非常快速的概述一下 gRPC 和 Protocol Buffers。 什麼是 gRPC? gRPC 是一個現代的開源的高性能遠程過程調用 (RPC) 框架,可以在任何環境下運行。RPC 代表遠程過程調用(Remote
        阅读全文
                
摘要:在开发程序的时候难免会需要在程序中引入外部的文件,为了方便管理我们也常会将这些文件放置在程序项目目录下。然而在代码撰写程序路径于运行阶段读取文件时,文件路径的正确性需要等到运行阶段的时候才会知道,就算写错了而找不到这个文件,程序项目也是能成功通过编译,这就会使得程序在运行阶段有出现问题的可能。 Ru
        阅读全文
                
摘要:背景 我相信大多数人在学习 Rust 异步编程时都会被 Future trait 中的 Pin 指针感到困惑: pub trait Future { type Output; fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Se
        阅读全文
                
摘要:背景 Rust 宏编程是这门语言比较有趣但又难以掌握的知识点,而且在大多数项目中使用频度并不算高。本文尝试性地总结 Rust 声明宏的原理和使用,目的是为了能更好地看懂一些项目中 macro_rules! 的逻辑。 所谓宏编程,我理解本质上就是元编程(据说最早源自 LISP 的「Code is Da
        阅读全文
                
摘要:基本原理 Rust 提供了一个 [cfg] 的编译选项,允许你基于一个传递给编译器的标记编译代码,有两种形式: #[cfg(foo)] 如果 foo 设置了编译对应代码; #[cfg(bar = "baz")] 如果 bar = "baz" ,则编译对应代码; 比如: fn main() { #[c
        阅读全文
                
摘要:背景 Rust 作为一门强大的系统编程语言,拥有一个现代且成熟的包管理机制。C/C++ 发展多年,迄今也没有特别靠谱好用且生态健全的包管理系统(据说 Conan 还不错),以至于很多时候都以源代码的形式(比如常见的 deps/ 目录或者 git submodules 等)来管理依赖。就这点上,Rus
        阅读全文
                
摘要:Rust 参考教程:Here JSON一种常用的由键值对组成的数据对象;本文将通过多个例子讲解在Rust中如何解析JSON内容,以及如何将结构体转换成JSON字符串。 在Rust中解析JSON文本通常需要使用一个JSON库。Rust标准库中有一个名为serde的库,它提供了序列化和反序列化结构体和其
        阅读全文
                
摘要:部分内容来自 Rust 2021 年期刊 内容目录 引言 Trait 基础 自动 Trait 泛型 Trait 格式化 Trait 操作符 Trait 转换 Trait 错误处理 迭代器 Trait I/O Trait 总结 引言 你是否曾想过下面这些 trait 有什么不同? Deref<Trag
        阅读全文
                
摘要:Ownership, Borrowing 与 Lifetime 共同成就了 rust 中的内存安全,也是 rust 语言中最精髓的创造,我们就来学习学习它们究竟是什么,为什么要引入这些概念。 权力与风险共生 权力与风险往往是一同出现。如果你被授予了制作核弹的权力,那么在你制造它时其实是面临着诸多的风
        阅读全文
                
摘要:reqwest 是 Rust 中一个非常流行和强大的 HTTP 客户端库,它提供了一种简单的方式来发送 HTTP 请求并处理响应。reqwest 支持阻塞和非阻塞(异步)请求,使其适合于各种不同的应用场景。在这篇博文中,我们将详细介绍如何使用 reqwest 发送各种 HTTP 请求,并处理返回的响
        阅读全文
                
摘要:Rust 的 anyhow 库,它提供了一个简单而强大的方式来处理错误。本教程将引导你了解 anyhow 的核心特性,包括易用性、错误链、调试便利性,以及如何在不同场景下利用 anyhow 来简化错误处理。无论是快速原型开发还是应用程序顶层错误处理,anyhow 都是 Rust 开发者的得力助手。 
        阅读全文
                
摘要:Have you ever heard about the “turbofish”? It is that piece of Rust syntax that looks like ::<SomeType>. In this post I will describe what it does and
        阅读全文
                
摘要:使用 MinGW GCC 完成查询 Windows 服务的状态、停止服务和启动服务: #pragma once #include <windows.h> #include <string> #include <utility> class ServiceManage { public: explic
        阅读全文
                
摘要:相关站点 Meson 官网 Meson 官方文档 Meson GitHub 项目 Meson 介绍 Meson 的简介 Meson(The Meson Build System)是个项目构建系统,类似的构建系统有 Makefile、CMake、automake …。 Meson 是一个由 Pytho
        阅读全文
                
摘要:This simple tutorial shows how to install the latest Clang compiler 17 and/or 18 in Ubuntu 20.04, Ubuntu 22.04, and Ubuntu 23.10. Ubuntu includes seve
        阅读全文
                
摘要:Rust Linux 配置 wsl 中执行命令: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 按照可能会卡住,需要在本机中的 Clash for windows 中开启 Lan 选项。 Rust 第三方库安装慢的解决方
        阅读全文
                
摘要:warning C4819:该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 if (win32) add_complie_options(/W4) add_complie_options(/wd4819) endif()
        阅读全文
                
摘要:❎ 舍弃了 Class ✅ 舍弃或弱化子类型 类的继承是一段儿弯路 OO 发明了继承,然后发现真正有意义的是 interface 的组合(更准确的说,是 Product type of interfaces or abstract classes),语义上相当于组合,但在 Cpp,Java 等语言中
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号