作者 | Sayan Dey 译者 | 杨志昂 策划 | 冬梅Rust 是软件行业中相对而言比较新的一门编程语言,如果从语法上来比较,该语言与 C++ 其实非常类似,但从另一方面而言,Rust 能更高效地提供许多功能来保证性能和安全。而且,Rust 还能在无需使用传统的垃圾收集系统的情况下保证内存的安全性。 Rust 语言原本是 Mozi
目录一、native关键字二、javah命令一、native关键字native 即 JNI,Java Native Interface凡是一种语言,都希望是纯
原创 2021-12-31 14:53:55
222阅读
Rust 是软件行业中相对而言比较新的一门编程语言,如果从语法上来比较,该语言与 C++ 其实非常类似,但从另一方面而言,Rust 能更高效地提供许多功能来保证性能和安全。而且,Rust 还能在无需使用传统的垃圾收集系统的情况下保证内存的安全性。  Rust 语言原本是 Mozilla 员工 Graydon Hoare 私人的项目,Graydon Hoare 当时是 Mozil
转载 2024-06-17 16:23:46
165阅读
实际上编程语境中的 runtime 大概有三个含义,分别指程序运行的时候,即程序生命周期中的一个阶段。比如:Rust 比 C 更容易将错误发现在编译时而非运行时。 程序从写好代码字符串(起点)到跑完退出(终点),有一整套标准化的生命周期(流程),可以被拆分为多个阶段。这其中编译阶段是compile time,链接阶段是 link time,那运行起来的阶段自然就是 run time 了指运行时库,
原文作者:Joel's Journal 使用 Rust 开发一个简单的 Web 应用,第 3 部分 —— 整合1 前情回顾这是使用 Rust 开发一个简单的 Web 应用系列的第 3 部分.到目前为止,我们已经有了一些最简可行功能在几个 Rust 源文件中。现在,我们想把它们放在一个应用程序中。1.1 Review我们将以下两个模块整合在一起:文件写入 / 记录代码,Web 服务代码。让我们 Re
转载 2024-05-27 19:33:14
121阅读
RUSTRust 语言是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言。Rust的应用 Rust 语言可以用于开发:传统命令行程序 - Rust 编译器可以直接生成目标可执行程序,不需要任何解释程序。Web 应用 - Rust 可以被编译成 WebAssembly,WebAssembly 是一种 JavaScript 的高
转载 2024-05-28 14:12:20
102阅读
1. as 运算符as 运算符有点像 C 中的强制类型转换,区别在于,它只能用于原始类型(i32 、i64 、f32 、 f64 、 u8 、 u32 、 char 等类型),并且它是安全的。例在 Rust 中,不同的数值类型是不能进行隐式转换的,比如:let b: i64 = 1i32;会出现编译错误,提示无法进行类型转换。error[E0308]: mismatched types --&gt
现在来增加一些实现了 Draw trait 的类型。我们将提供 Button 类型。再一次重申,真正实现 GUI 库超出了本书的范畴,所以 draw 方法体中不会有任何有意义的实现。为了想象一下这个实现看起来像什么,一个 Button 结构体可能会拥有 width、height 和 label 字段,如示例 17-7 所示:文件名: src∕lib.rs# pub trait Draw {# fn
原创 2024-03-08 22:24:32
71阅读
使用方式基本用法静态派发动态派发impl trait高阶用法关联类型Derive常见问题向上转型(upcas
转载 2022-12-29 16:10:47
1096阅读
1点赞
use std::collections::HashMap;fn main(){ println!("-----------------------------------------"); println!("hello world, he
原创 2022-10-09 22:27:30
55阅读
背景最近由于工作需要使用某个开源的PHP扩展,发现扩展并不成熟,在某些情况下会产生内存段错误使php-fpm退出,从而产生502错误。联想到PHP源码和PHP扩展都是用C语言写的,虽然C语言在性能和内存精细控制等方面很强大,但是需要手动处理内存对程序员要求也很高,即使再牛叉的程序员也可能有疏忽的时候,导致内存问题。而我最近的时间在研究Rust这门新兴的现代化语言,深深被它的零开销抽象、内存安全、并
我们在学习Rust的借用,引用时,会遇到References(引用)、borrowing(借用)、&关键字、*关键字,他们之间的关系非常困惑。所有权不仅可以转移(原变量会丢失数据的所有权),还可以通过引用的方式来借用数据的所有权(borrow ownership)。 我们整理下相关问题: 1. &关键字是代表引用还是借用?我们先看看以下代码:let s = St
这是 os summer of code 2020 项目每日记录的一部分:github地址:https://github.com/yunwei37/os-summer-of-code-daily双向链表数据结构定义:use std::rc::Rc;use std::cell::RefCell;use std::clone::Clone;#[derive(Debug)]struct ListNode{ value :i32, next: Option<Rc<Re
原创 精选 2021-11-10 16:46:39
1679阅读
使用 Rust 实现 x86 bootloaderKRaBs 是一个内核阅读器和引导器,目前 KRaBs 正
原创 2022-06-29 15:07:53
119阅读
本文为 Medium 文章 Rust on Android 的翻译版本,供喜欢这门技术的开发者阅读使用,请不要用于任何商业用途。原文理解并不难,所以我建议你可以先尝试阅读一下英文原版。你可能听说过 Rust,它是一门为内存安全和速度而设计的系统级编程语言。由 Mozilla 打造,旨在提供下一代高性能跨平台软件的能力。如果你还没有听过这门语言,我建议先看一下(入门教程)great learning
转载 2023-12-03 23:18:33
648阅读
使用JNI的过程中,新建一个C 文件,通过JAVA调用,可能会出现 java.lang.UnsatisfiedLinkError异常,目前遇到过两种情况:1,是ndk版本是64 位的,一般的手机都是32位,所以编译出来的库文件是不可用的。下载ndk 32 位的重新编译即可。 2,由于不同的手机CPU是不同的,所以要针对不同版本生成库文件。解决方法是,在jni/文件夹中生成一个文件Applicat
转载 2023-08-19 23:53:16
262阅读
如何使用Rust构建一个Web应用程序这是一个系列博客,更新到了第三章。Read More: https:/
原创 2022-06-22 13:32:47
95阅读
对于rust-primer中实现(https://rustcc.gitbooks.io/rustprimer/content/data-structure/queue.hte<T>...
原创 2022-11-07 12:43:36
106阅读
TOCbrainfuck语法解析由于fuck在英语中是脏话,Brainfuck有时被称为Brainfsck,甚至被简称为BF。它是大多数学生们学习编译器理论知识的好朋友,这一切都是因为它fucksimple。我们对JIT编译器的第一次尝试是如此的简单,甚至有点可笑。不过你想笑就笑吧,很快就会轮到编译器嘲笑你了,你会被告知自己写的解释器有多么的慢。Brainfuck是一种简单且最小的图灵完备编程语言
推荐 原创 2022-06-03 01:31:54
1098阅读
1点赞
作者:Timothy McCallum、Miley Fu 与 Vivian HuJamstack 是一套用于
转载 2022-10-06 15:28:01
93阅读
  • 1
  • 2
  • 3
  • 4
  • 5