自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Rust 字符串 初步了解

直接操作原来的字符串。存在返回值,返回值是一个Option类型,如果字符串为空,则返回None。

2024-01-05 20:35:42 755

原创 Rust 注释规则

用在文档的头部,作为文档的一部分。

2024-01-02 16:17:19 626

原创 Rust 圣经 阅读 引用与借用

Rust 通过在使用某个变量的指针或引用。获取变量的引用,称之为。

2024-01-02 16:13:32 1148

原创 Rust 圣经 阅读 所有权和借用

因为整数是 Rust 基本数据类型,是固定大小的简单值,因此这两个值都是通过自动拷贝的方式来赋值的,都被存在栈中,完全无需在堆上分配内存。返回的指针会被推入栈中,因为指针的大小是已知且固定的,在后续使用中,可以通过指针,来获取数据在堆上的实际内存位置,进而访问数据。首先,栈上的数据都是存储在CPU的高速缓存上,而堆上的数据只能存储在内存中。而高速缓存和内存的访问速度差异在10倍以上。是最重要的,它指向了真实存储字符串内容的堆内存,至于长度和容量,容量是堆内存分配空间的大小,长度是目前已经使用的大小。

2023-12-31 22:35:06 1205 1

原创 二次污染错误

内存污染:再次释放已经释放的内存可能会导致在该内存地址上写入新的数据,这样的操作可能会导致内存污染,也就是在应用程序中更改了原本无关的内存数据,从而导致程序状态的不确定性。二次释放指的是对已经释放的内存进行再次释放。无效的内存访问:内存释放后,之前的指针会变成无效的指针,再次释放会导致未定义行为,包括访问无效内存地址。综上所述,二次释放会导致内存访问错误和内存污染,因此应该避免对已经释放的内存进行再次释放。

2023-12-31 21:50:20 324

原创 Rust 圣经 阅读 函数

在Rust中,发散函数(diverging function)指的是一个永远不会返回的函数。这意味着一旦调用发散函数,程序就会立刻终止或进入无限循环,而不会返回到调用的位置。作为函数的返回类型的时候,表示该函数永不返回(diverge function)。Rust 是强类型语言,因此需要为每个函数参数都标识出它的具体类型。,会出现返回的类型与指定的类型不一致的错误。函数的返回值就是最后一条表达式的返回值。当一个函数没有返回值时,返回单元类型。缺少任何一个参数的类型,都会报错。没弄懂 发散函数 的作用。

2023-12-31 16:33:11 593

原创 Rust 圣经 阅读 语句和表达式

Rust 函数体有一系列语句组成,最后一个表达式来返回值。语句会执行操作,但是不会返回值。表达式会在进行求值后返回一个值。注意!在 if 语句中单独写一个 x 是错误的。原因未知。

2023-12-31 16:04:26 595

原创 Rust 圣经 阅读 字符、布尔、单元类型

都是 4 个字节编码,所以字符类型占用 4 个字节。值,包括单个的中文、日文、表情符号等等。一个字符串占有的内存至少为 16 个字节。,布尔值占用的内存大小为 1 个字节。的值,表示不关心的值的内容,只关心。即使用一个值来占位,但是。函数的返回值就是单元类型。函数的返回值也是单元类型。Rust 的字符不仅仅是。Rust 的字符只能用。是用来表示字符串的。

2023-12-31 15:28:30 584

原创 Rust 圣经 数值类型 练习

【代码】Rust 圣经 数值类型 练习。

2023-12-31 13:45:03 369

原创 Rust 数值类型总结

Rust 的数值类型与其他语言并没有什么不同。

2023-12-30 22:47:58 554 1

原创 Rust圣经 阅读 数值类型

Rust 的数值类型非常多,需要熟悉这些类型所占用的字节数。类型转换必须是显式的。Rust的数值上可以使用方法。如取整。

2023-12-30 22:37:00 1067 1

原创 Rust圣经 阅读 Rust基本概念

因为绑定的含义更明确,对于Rust的所有权机制来说。将一个对象绑定给一个变量,表示将该对象的所有权交给该变量。但是有时创建一个不会被使用的变量是有用的,比如你正在设计原型或刚刚开始一个项目。如果创建 一个变量却从未使用,Rust将会给出一个警告,因为它可能是一个错误。Rust允许声明相同的变量名,在后面声明的变量会遮蔽掉前面声明的。这样的形式不会进行重新绑定,而是仅仅对之间绑定的变量进行再赋值。Rust的变量在默认情况下是不可变的。元组解构,将元组的成员分别绑定给多个变量。关键字,并且值的类型必须标注。

2023-12-29 17:42:09 500 1

原创 Rust圣经 阅读 01

使用cargo工具的最大优势在于,能够对该项目的各种依赖项进行方便、统一和灵活的管理。在Cargo.toml基于 Rust 官方仓库crates.io,通过版本说明来描述。基于 项目源代码的 git 仓库地址,通过URL来描述。基于本地项目的绝对路径或者相对路径,通过类 Unix 模式的路径来描述。

2023-12-29 15:33:55 498 1

原创 Rust 修改源

cargo 1.68 版本开始支持稀疏索引:不需要完整克隆。如果cargo 的版本大于 1.68,可以在。如果 build 出错,可以尝试。运行命令,下载rust安装脚本。仓库,可以加快获取包的速度。,输入回车选择默认进行安装。

2023-12-29 14:23:27 643 1

原创 Rust 环境 配置

可以在本地文档上查找标准库信息。使用浏览器打开本地文档。打开终端,输入以下命令。如果安装成功,将出现。

2023-12-29 13:42:30 484 1

原创 Manuskript 阅读 1

项目的主要代码存放于manuskript文件夹下。

2023-12-28 16:59:03 943 1

原创 Python 函数内部修改全局变量

在这个示例中,我们使用global关键字将count声明为全局变量,并在book.set_identifier中将count转换为字符串进行拼接。在 Python 中,如果您想在函数内部修改全局变量,在函数内部要使用global关键字声明全局变量。

2023-12-27 23:38:47 448 1

原创 Python 爬虫 示例

在这个示例中,我们首先使用 requests 库发送 HTTP 请求来获取网页的内容,然后使用 BeautifulSoup 库来解析 HTML 内容。要注意,当使用爬虫时,需要遵守网站的robots.txt文件中的规定,并且尊重网站的使用条款,避免对网站造成压力和影响。这只是一个简单的爬虫示例,你可以根据自己的需求进一步扩展和修改。接着,我们提取了网页的标题和所有链接,并打印出来。

2023-12-27 20:51:39 1002 1

原创 Ubuntu 上 修改swap交换空间

在某些文件系统上,例如ext4,直接缩小已分配的文件大小可能有限制或不可行。fallocate和truncate都是用于处理文件大小的命令,但它们在处理方式和结果上有一些区别。是一个交换文件,类型为none,使用sw作为交换分区类型,并且没有特定的挂在选项(使用默认值)。综上,fallocate主要用于预先分配物理空间,而truncate主要用于生成空洞文件。最后,确保交换空间的大小不会超过物理内存的大小,否则可能会导致系统性能问题。命令覆盖文件的一部分,使其变成未分配的空间,然后再重新创建交换空间。

2023-12-26 21:25:16 1331 1

原创 第四章 Threads,SMP, and Microkernerls

允许映射到内核(来自单个应用的多个ULT映射到一些(较小或相等)数量的(可调)KLT。- 创建更快(创建一个线程比创建一个进程所用的时间更少)(不重新分配内存等资源)(线程的概念并不明确)- 多CPU执行(一个进程中的多个线程可以同时在多个处理器上运行)- 仅阻塞单个线程(一个线程阻塞不会使同进程中的其他线程阻塞)- 切换快(同进程的两个线程之间)(相同镜像,不用切换页表)- ULT按进程调度(一个线程阻塞,则该进程的所有线程阻塞)- 结束快(终止一个线程比终止一个进程所用的时间更少)

2022-09-22 10:58:08 103 1

原创 第三章 进程描述与控制

Modifiy Processor status register (psr) and current privileged level (cpl)(修改处理器状态寄存器 (psr) 和当前特权级别 (cpl))- 调度器不能只选择在队列中停留时间最长的进程,因为这个进程可能被阻塞。- ## Process-Based Operating System(基于进程的OS)- 更新进程的进程控制块,并更改当前处于“正在运行”状态的进程的状态。- 只要操作系统从当前运行的进程获得控制权,就可能发生进程切换。

2022-09-22 10:22:19 87

原创 isEqual - return 1 if x == y, and 0 otherwise & negate - return -x

**/return!(x^y);}/**/x = ~x;x +=1;return x;}

2022-09-20 10:27:56 380

原创 getByte - Extract byte n from word x

**/return x;}

2022-09-20 10:21:24 363

原创 按位取反、按位与实现异或

**/}

2022-09-20 10:08:08 164

原创 python 3 基础语法

python中"与'的作用是完全相同的。

2022-07-20 17:50:44 62

原创 常见Linux命令的基本使用

常用Linux命令的基本使用。

2022-07-19 21:59:33 83

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除