ICode9

精准搜索请尝试: 精确搜索
  • FinClip小程序+Rust(二):环境搭建2022-05-17 00:02:50

    ​ 搭建一个FinClip社区版docker运行环境,安装设置Rust开发编译iOS代码的环境,设置xcode的项目配合,集成FinClip SDK,准备好实现从FinClip小程序到Rust算法逻辑的端到端融合。 上文《FinClip小程序+Rust(一)》介绍了“夹心饼架构”:应用场景用小程序实现、算法逻辑用 Rust,两方面都实现

  • FinClip小程序+Rust(三):一个加密钱包2022-05-17 00:01:09

    ​ 一个加密货币钱包,主要依赖加密算法构建。这部分逻辑无关iOS还是Android,特别适合用Rust去实现。我们看看如何实现一个生成一个模拟钱包,准备供小程序开发采用 前言 在之前的内容我们介绍了整个端到端开发环境的搭建。 其中,我们用 Xcode 开发一个 iOS native App 的“壳”,并集成

  • 【Rust】使用HashMap解决官方文档中的闭包限制2022-05-14 20:31:54

    问题概述 值缓存是一种更加广泛的实用行为,我们可能希望在代码中的其他闭包中也使用他们。然而,目前 Cacher 的实现存在两个小问题,这使得在不同上下文中复用变得很困难。 第一个问题是 Cacher 实例假设对于 value 方法的任何 arg 参数值总是会返回相同的值。也就是说,这个 

  • Rust 基本类型2022-05-08 19:01:08

    整数类型 长度 有符号类型 无符号类型 8位 i8 u8 16位 i16 u16 32位 i32 u32 64位 i64 u64 128位 i128 u128 视架构而定 isize usize 类型的定义格式为 有无符号 + 类型大小。无符号表示数字只能为正数,而有符号则表示数字即可以为正数也可以为负数。 Rust 整

  • RUST编译结果的疑惑?2022-05-07 13:01:24

    非常简单的测试代码: fn main(){ let _a = true; let _b = false; let _s:u32 = 17; let _c = true; let _d = false; //println!("{:p}", &s); //println!("{:p}", &c); //println!("{:p}", &d);

  • 一个简单的rust的例子native windows gui2022-04-17 13:03:12

    Native Windows GUI guide - Getting started (gabdube.github.io) 1、创建一个项目 >cargo new gui 2、在toml添加依赖 [dependencies]native-windows-gui = "1.0.12"native-windows-derive = "1.0.3" 3、在main.rs中添加代码 /* * @Author: your name * @Date: 2022-0

  • Rust如何开发eBPF应用(一)?2022-04-17 11:33:10

    前言 eBPF是一项革命性的技术,可以在Linux内核中运行沙盒程序,而无需重新编译内核或加载内核模块。它能够在许多内核 hook 点安全地执行字节码,主要应用在云原生网络、安全、跟踪监控等方面。 eBPF 基金会 (https://ebpf.io) 是一个为 eBPF 技术而创建的非盈利性组织,隶属于 Linux 基

  • 【小测试】rust中的数组越界——好吧,这下证明rust不是零成本抽象了吧2022-04-16 09:03:35

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 1.编译期发现的数组越界 在数组下标是常量的情况下,编译期就会发现。 cargo new arr_test 在arr_test/src/main.rs中写入: fn main() { let mut arr : [i64;10] =

  • 【小测试】rust中的无符号整数溢出2022-04-15 16:04:18

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 1.在编译阶段就可以识别出来的溢出 fn main(){ let a : usize = 1; println!("{}",a-2); } 执行rustc报以下错误: rustc usize_test.rs error: this arithmet

  • Rust 所有权2022-04-13 10:04:38

    所有权规则 Rust 中的每一个值都有一个被称为其 所有者(owner)的变量。 值在任一时刻有且只有一个所有者。 当所有者(变量)离开作用域,这个值将被丢弃。 引用和Copy特性 赋值过程:包括变量赋值,函数传参,函数返回 如果类型实现了Copy特性(基本简单类型),传参过程相当于创建了一份新拷贝(克

  • 关于职业生涯的思考2022-04-13 01:00:29

    媳妇儿公司是做政府项目外包的,平时接待的大多是五十往上的老年人。 前天媳妇儿跟我说,她接到了一个简历,简历上的人是之前的工作是个程序员,因为上个项目结束,被辞退了,最近大环境不好在家呆了很长时间没找到工作,投了他们公司。 说起来程序员看似挣得多,但是危机还是很严重的,不像有一些

  • 解决rust编译目标为musl时openssl报错2022-04-11 01:04:18

    同步:https://zhufn.fun/archives/rust-musl-ssl/ 为了节省容器启动时间,准备把rust写的api编译好后扔进docker里,于是编译到target:x86_64-unknown-linux-musl 然后openssl炸了,不认libssl-dev了,查了下要重新编译。。。 但是,我们发现了一个神奇的docker镜象https://github.com/emk/ru

  • Rust使用HashMap统计出现次数2022-04-10 12:03:08

    代码如下: use std::collections::HashMap; fn main() { let text = "Hello world good world"; let mut map = HashMap::new(); for word in text.split_whitespace() { let count = map.entry(word).or_insert(0); *count += 1; }

  • Rust 函数传参2022-04-09 09:00:08

    形参&str 使用&str作为形参,入参可以为&str,或者&String。 fn print_animal_name(name: &str) { println!("{name}"); } let oreo = "oreo".to_owned(); let jax = "jax"; print_animal_name(&oreo); print_animal_name(jax); 形

  • 【Tokio】优势和劣势2022-03-31 18:31:44

    环境 Time 2022-01-13 Rust 1.57.0 Tokio 1.15.0 概念 参考:https://tokio.rs/tokio/tutorial Tokio 是 Rust 编程语言的异步运行时。它提供了编写网络应用程序所需的构建基础。它提供了针对各种系统的灵活性,从具有数十个内核的大型服务器到小型嵌入式设备。 在高层次上,Tokio提供

  • rust迭代器2022-03-30 14:03:49

    // iter:返回的值是不可变引用,即&T// iter_mut:返回的值是可变引用,即&mut T// into_iter:返回的是T类型的值,会交出所有权// filter过滤(条件),map映射+fold折叠(表达式) https://blog.csdn.net/guiqulaxi920/article/details/78823541

  • 基于所有权的资源管理--构造2022-03-29 15:03:05

    构造 构造一个用户定义类型的实例只有一种方法:为其命名,并一次性初始化其所有字段:   struct Foo { a: u8, b: u32, c: bool, } enum Bar { X(u32), Y(bool), } struct Unit; let foo = Foo { a: 0, b: 1, c: false }; let bar = Bar::X(0); let empty =

  • Rust 中的数据布局--可选的数据布局2022-03-29 12:03:39

      Rust 允许你指定不同于默认的数据布局策略,并为你提供了不安全代码指南。 repr(C) 这是最重要的“repr”。它的意图相当简单:做 C 所做的事。字段的顺序、大小和对齐方式与你在 C 或 C++ 中期望的完全一样。任何你期望通过 FFI 边界的类型都应该有repr(C),因为 C 是编程世界的语言

  • Rust极简教程2022-03-29 11:33:55

    目录简介特性特征用途安装核心组件常用命令基础语法数据类型标量类型复合类型示例条件语句循环输出&输入输出输出花括号输出非基础类型输入所有权切片结构体枚举MatchIf-letOption集合vector容器String代码组织命名空间访问其他mod和crate访问权限和关键字访问其他文件中的对象使

  • rust 模块、路径、项目类型等相关内容2022-03-08 11:04:15

    rust 模块路径 转载 https://blog.csdn.net/wowotuo/article/details/107591501 rust 项目编译类型 转载 https://blog.51cto.com/u_15127605/2763424

  • Rust 静态调用 C++2022-03-07 23:00:56

    使用 cmake 的局限性 .lib 合并问题 cmake 不会将多个 .lib 合并, 因此可能需要使用 add_custom_command 命令手动使用 MSVC 工具 lib.exe 来创建最终具有 C ABI 的 .lib 静态库文件供Rust调用. set(Target "output") add_library("${Target}" STATIC lib.cpp) target_include_di

  • Rust闭包学习心得2022-03-07 17:04:45

    move && Fn / FnMut / FnOnce move 影响的是闭包如何捕获环境中的变量 , 影响的是闭包初始化之后外部变量是否还能继续使用。 闭包体内如何使用变量决定了闭包实现的是哪种Trait,影响了闭包自身的类型。但是闭包体使用的变量的方式同时也影响了闭包初始化之后外部变量能否继续使

  • Rust调用async函数时变量无法在线程间安全传递的错误2022-03-07 17:03:37

    同步:https://zhufn.fun/archives/rust-var-need-drop-before-async/ 这是一段伪代码 async fn a() { let a:T = ...;//T一个没有实现 Send的类型 let b = foo(a); boo(b).await; } async fn boo() -> i32 { ... } 这种情况下,会有一个future cannot be sent betw

  • rust语言学习2022-03-06 16:33:20

    ------------恢复内容开始------------    cargo build以后目录,             注意函数是fn开头,print有感叹号,                                     注意用箭头表示返回类型,     注意表达式后面不能有分号,      

  • Rust一些设计的不好的地方2022-03-06 11:35:54

    第一个就是Option和Result里的map_or,map_or_else,即无论是按方法名还是按求值逻辑,第一个参数都应该是map方法/闭包,第二个才是默认值(map_or_else则是默认值的generate方法); 但是在rust里这个是反着来的,我是不太爽的,因为按函数名,明显第一个参数应该是map求值逻辑,当没有的时候再else二

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有