rust可变全局静态数组用法

ops/2024/9/23 6:26:47/

···
extern crate alloc;
use alloc::vec::Vec;
use core::mem::ManuallyDrop;
use log::info;
use uefi::println;

pub static mut gbuf:&'static mut [i32] = &mut [0; 0x1000];

pub fn testdumphex() -> i32 {
info!(“testdumphex!”);
let mut hexvec = Vec::new();
for i in 1…10 {
hexvec.push(i);
}
for (pos, chr) in hexvec.iter().enumerate() {
println!(“idx {},val {:x}!”, pos, chr);
}
0
}

pub fn testdumphexptr() -> i32 {
info!(“testdumphexptr!”);
let mut hexvec = Vec::with_capacity(0x10);
for i in 1…10 {
hexvec.push(i);
}
let len=hexvec.len();
let cap=hexvec.capacity();
let mut hexvecv = ManuallyDrop::new(hexvec.clone());
let mut hexptr = hexvecv.as_mut_ptr();
unsafe {
let rebuilt = Vec::from_raw_parts(hexptr,len , cap);
for (pos, chr) in rebuilt.iter().enumerate() {
println!(“idx {},val {:x}!”, pos, chr);
}
// gbuf.append(hexvec.as_mut());
for (pos, chr) in hexvec.iter().enumerate() { gbuf[pos]=*chr;
}
for i in 0…len{
let chr= gbuf[i];
let pos=i;
println!(“gbuf idx {},val {:x}!”, pos, chr);
}
}
info!(“testdumphexptr end!”);
0
}
···
···


http://www.ppmy.cn/ops/29783.html

相关文章

就业班 第三阶段(nginx) 2401--4.26 day5 nginx5 nginx https部署实战

三、HTTPS 基本原理 1、https 介绍 HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并不是一个新鲜协议,Google 很早就开始启用了,初衷是为了保证数据安全。 近些年&…

Stable Diffusion WebUI 中文提示词插件 sd-webui-prompt-all-in-one

本文收录于《AI绘画从入门到精通》专栏,订阅后可阅读专栏内所有文章,专栏总目录:点这里。 大家好,我是水滴~~ 今天为大家介绍 Stable Diffusion WebUI 的一款中文提示词插件 sd-webui-prompt-all-in-one,就像它的名字一样,该插件几乎涵盖了提示词相关的所有功能。 文章内…

场景文本检测识别学习 day06(Vi-Transformer论文精读、MAE论文阅读)

Vi-Transformer论文精读 在NLP领域,基于注意力的Transformer模型使用的非常广泛,但是在计算机视觉领域,注意力更多是和CNN一起使用,或者是单纯将CNN的卷积替换成注意力,但是整体的CNN 架构没有发生改变VIT说明&#x…

学习Rust的第22天:mini_grep第2部分

书接上文,在本文中,我们学习了如何通过将 Rust 程序的逻辑移至单独的库箱中并采用测试驱动开发 (TDD) 实践来重构 Rust 程序。通过在实现功能之前编写测试,我们确保了代码的可靠性。我们涵盖了基本的 Rust 概念,例如错误处理、环境…

初始计算机网络

TCP/IP TCP/IP模型 TCP/IP网络模型:对于不同设备之间的通信,就需要网络通信,而设备是多样性的,所以要兼容多种多样的设备,就协商出了一套通用的网络协议。 TCP/IP分层 这个网络协议是分层的,每一层都有…

万界星空科技商业开源MES+项目合作+商业开源低代码平台

今天我想和大家分享的是一套商业开源的 MES制造执行管理系统带源码。对于制造业而言,MES 是一个至关重要的系统,它可以帮助企业提高生产效率、优化资源利用、提高产品质量,从而增强市场竞争力。 什么是 MES? MES 是指通过计算机技…

一文理解前端如何调用后端(java)方法

阅读完文章大约需要3~5分钟 文章目录 一、什么是后端方法路径?二、ajax、axios调用后端方法总结 一、什么是后端方法路径? 这里针对的是 java 后端项目中在 controller 文件夹中的类文件,这类文件的后缀一般都会带有 controller&#xff0c…

CAE组件CEETRON SDK的应用价值与功能更新趋势

为什么要在应用程序中使用CAE组件? 常见的CAE工作流程涉及一系列阶段,所有阶段都需要复杂的专用工具才能产生有意义的结果。 此标准工作流程的设置阶段围绕为求解器提供生成有用的模拟所需的数据。为此,应用程序需要支持将CAD数据转换为…