-
使用Rust开发操作系统(UEFI基本介绍)
UEFI基本介绍 关于UEFI BIOS UEFI介绍 引导管理 UEFI Image UEFI 应用程序 OS Loader UEFI运行时服务 调用约定 调用约定的数据类型 IA-32架构调用约定 Rust中的UEFI UEFI入口 * OVMF固件制作 * Protocol UEFI启动系统过程 下一步要做什么 在上一篇文章中我们编写一个基本的操作系统,但是这个操作系统只有很简单的字符输入和…- 554
- 0
-
Rust语言开发基础(二)开发环境安装
**一、Windows下安装 ** (1)下载Rust 官网地址:https://www.rust-lang.org/ 国内镜像:https://mirrors.ustc.edu.cn/rust-static/ (2)安装Rust A. 前往Rust官网下载各Windows平台安装文件,这里推荐大家下载稳定版。如果下载速度较慢,大家也可以点击国内镜像进行下载,下载完成后即可开始安装。整个安装过程都…- 75
- 0
-
[易学易懂系列|rustlang语言|零基础|快速入门|(16)|代码组织与模块化]
[易学易懂系列|rustlang语言|零基础|快速入门|(16)|代码组织与模块化] 实用知识 代码组织与模块化 我们知道,在现代软件开发的过程中,代码组织和模块化是应对复杂性的一种方式。 今天我们来看看Rust是怎么做代码组织和模块化的。 Rust用mod 关键字来定义模块。 我们还是拿上一篇文章中的代码来作例子,我们在原来的代码lib.rs加入新的mod: 1mod greetings { 2…- 13
- 0
-
Socket网络编程之UDP实现(C++,Rust)
以下是最基础的UDP服务端与客户端源代码,实现客户端发送数据,服务器接收数据的功能。与TCP的区别在于客户端与服务端无需经过三次握手建立连接,可直接在相应端口收发数据。且内部没有流控,重发等机制进行可靠性保证,协议实现相对TCP简单。可简单认为是带有端口信息的IP数据报。 一、C++实现 【1】服务端源代码(Windows) 1#include "stdafx.h" 2#inc…- 33
- 0
-
Rust 变量与函数
变量: 绑定 上面的代码在编译的时候会出现警告,告诉你绑定的变量都没有使用过。 而且变量绑定必须要初始化,若是输出未初始化的绑定会无法编译 可变性 如果想要可以随意被赋值、改变使用mut关键字 作用域 与c语言的作用域原理基本类似,用花括号来限制作用域。不同的是,在同一个作用域当中,后声明的同名变量绑定会被覆盖。 例子 函数: 用关键字fn来声明函数 与let不同,你必须为函数参数声明类型。下面代…- 7
- 0
-
2.2 Rust 数据类型
2.2 数据类型 1let guess: u32 = "42".parse().expect("Not a number!"); 2 Rust has four primary scalar types: integers, floating-point numbers, Booleans, and characters. 整数类型 1 u32…- 6
- 0
-
012 Rust 网络编程,gRPC 演示示例
演示说明 本例子的功能为grpc客户端向服务端写入位置信息和读取位置信息,演示环境为ubuntu。 准备工作 安装protobuf编译器: 1apt install protobuf-compiler 2 3 演示实例 新建工程 1cargo new use_grpc --lib #记住这个名字use_grpc,因为在编写代码的时候要用 2 3 新建proto文件 在use_grpc目录下,创建f…- 11
- 0
-
CentOS下vi编辑器用法大全(摘抄)
CentOS下vi编辑器用法大全 1、vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令行模式command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 2…- 6
- 0
-
比特币地址生成过程 go语言版本
比特币地址结构: 【版本 + 公钥哈希 + 验证码】 版本:默认0x00, 即可空白的一字节。 公钥:由非对称加密算法得出。 公钥哈希:就是给公钥做哈希算法得出的结果。 验证码:给 [版本 + 公钥哈希],sha256两次,取头4个字符作为验证码。 1package main 2 3import ( 4 "bytes" 5 "crypto/ecdsa" 6 …- 33
- 0
-
Go语言编程(四)之变量
变量相当于对一块数据存储空间的命名,程序可以通过定义一个变量来申请一块数据存储空间,之后可以通过引用变量名来使用这块存储空间。 变量声明 Go语言中使用 var关键字声明变量,而类型信息放在变量名之后。变量声明不需要使用分号作为结束符。示例如下 1var v1 int 2 1var v2 string 2 1var v3 [10]int // 数组 2 1var v4 []int //…- 13
- 0
-
Go语言编程基础 结构体、切片与映射(三)——切片、make
10 切片的默认行为 在进行切片时,可以使用切片的默认行为来忽略上下界。 切片下界的默认值为0,上界则是该切片的长度。 对于数组: 1var a [10]int 2 3 以下切片等价: 1a[0, 10] 2a[: 10] 3a[0:] 4a[:] 5 6 1package main 2 3import "fmt" 4 5func main() { 6 iii := [4]in…- 16
- 0
-
Golang- import 导入包的语法
Golang- import 导入包的语法 一 包的导入语法 在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下: import( "fmt" ) 然后在代码里面可以通过如下的方式调用 fmt.Println("hello world") 上面这个fmt是Go语言的标…- 6
- 0
-
必须要注意的 C++ 动态内存资源管理(四)——智能指针进阶
十一.智能指针的扩展 在前面一节,我们简单介绍了标准库给我们提供的三种智能指针的使用方法。然而在实际使用过程中有的资源的创建和释放并不是简单的new 和 delete。 比如说:对于数据库连接来说,创建资源是连接数据库而释放资源是断开连接。所以,对于智能指针自带的资源释放手段(delete)有时候就不太适用了。当然,智能指针的设计者也考虑到这一点;所以智能指针允许使…- 6
- 0
-
探索C++虚函数在内存中的表现形式及运行机制(一)
本文是我在科锐学习完一阶段的一个总结文章,几个月前就写好了,最近看雪支持了markdown,所以就赶紧发出来支持下。同时感谢科锐戚老师的耐心教导! 文章概要 从简单地例子来进行探索,但是篇幅较长,建议先仔细阅读下目录结构再阅读文章,便于跳读和回顾。<br>前面一段是简单地铺垫,然后观察单层继承下的虚表指针和虚表,分析了不同情况下它们的表现形式,并手动模拟了虚函数的跳转。在中间插了一段需…- 12
- 0
-
(四):浅谈C/C++内存泄露及其检测工具
当调用ShowYItemMenu()时,我们故意造成HMENU的泄漏。但是,对于BoundsChecker来说被泄漏的HMENU是在class CMenu::CreatePopupMenu()中分配的。假设的你的程序有许多地方使用了CMenu的CreatePopupMenu()函数,如 CMenu::CreatePopupMenu()造成的,你依然无法确认问题的根结到底在哪里,在ShowXItem…- 18
- 0
-
从零搭建自己的SpringBoot后台框架一
大家好,从本篇文章开始为大家搭建一套springboot后台框架。 技术选型有springboot、mybatis-plus、shiro、druid和swagger等 项目所需环境jdk1.8,maven,mysql数据库,开发工具IDEA。 使用idea新建一个springboot项目进行初始化 pom文件如下 1<groupId>com.company</groupId>…- 10
- 0
-
SpringBoot+Logback+Sentry(日志监控平台)
相关地址: 官网:https://getsentry.com/welcome/ github:https://github.com/getsentry/sentry 安装手册:https://docs.getsentry.com/hosted/quickstart/ 别人家的:http://blog.gaoyuan.xyz/2013/12/18/deploy-sentry-in-product/ …- 99
- 0
-
Spring Boot静态资源和拦截器处理
Spring MVC自动配置 Spring Boot为Spring MVC提供适用于多数应用的自动配置功能。在Spring默认基础上,自动配置添加了以下特性: 引入ContentNegotiatingViewResolver和BeanNameViewResolver beans。 对静态资源的支持,包括对WebJars的支持。 自动注册Converter,GenericConverter,Form…- 4
- 0
-
SpringBoot与分布式
SpringBoot 、 Dubbo 、 zookeeper 整合 1、准备两个项目,一个服务提供者,一个消费者 2、将服务提供者注册到注册中心 (1) 引入dubbo 的 starter (2) 引入zookeeper 的客户端工具 (3) 在application.yml 中配置 dubbo 相关属性 (4) 在要发布的类上标注上dubbo 的 @Service 注解并将类加入到容器 …- 7
- 0
-
SpringBoot-日志系统
官方文档: https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html\#howto-configure-logback-for-logging 通过看文档整理以下几点: 1.Spring Boot 通过引入 spring-boot-starter-web 模块即可引入日志相关依赖包。 2.S…- 9
- 0
-
Spring Boot使用redis做数据缓存
1 添加redis支持 在pom.xml中添加 Xml代码 < dependency < groupId org.springframework.boot </ groupId < artifactId spring-boot-starter-redis </ artifactId <…- 19
- 0
-
SpringBoot整合Druid数据源
**前言:**SpringBoot2.x默认使用的数据源为: Hikari,我们也可以通过配置使用dbcp等常用数据源,因为阿里的druid数据源还提供了监控统计等功能,所以我们通常在springboot项目中整合使用Druid数据源 一、项目创建 首先使用idea创建springboot-web项目,不会的请点击:使用idea创建springboot项目 创建项目后在 pom.xml文件中导入…- 23
- 0
-
SpringBoot常用注解
目录 前言: 常用注解总结 @SpringBootApplication @ServletComponentScan @Component @Bean @Configuration @ConfigurationProperties @Value @SpringBootConfiguration @Conditional @ConditionalOnBean @ConditionalOnM…- 14
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!









