unsafe 相关问题

在C#或Rust中,unsafe关键字标记代码能够直接使用内存指针,绕过某些语言的安全检查。在Java中,`sun.misc.Unsafe`是一个执行低级,不安全操作的特殊类。

Marshal.SizeOf 和 sizeof 之间的区别,我就是不明白

直到现在,我都理所当然地认为 Marshal.SizeOf 是计算非托管堆上 blittable 结构的内存大小的正确方法(这似乎是 SO 和 a...

回答 4 投票 0

如果在单核CPU上运行,是否需要互斥/锁

我想了解如果我的程序在单核计算机上运行,为什么在 rust 中使用不安全代码来访问 rust 中的共享资源/变量是不安全的。 ChatGPT 和 ClaudeAI 都这么说

回答 1 投票 0

本机代码 (c++) 是否可以在托管内存 (C#) 中越界写入,我们可以防止这种情况发生吗?

我刚刚发现了一些令我震惊的事情。现在回想起来,我觉得自己没有早点看到这一点很天真,但同时,它仍然让我感到震惊。 我们从 C# 调用本机 (C++) 代码。

回答 1 投票 0

为什么我的代码会导致编译器标记“未经检查或不安全的操作”警告?

我的java编译器抱怨我的代码使用“未经检查或不安全的操作”。知道这两个代码片段中哪些行导致了这种情况吗? @SuppressWarnings(“未选中”) 私人决赛...

回答 1 投票 0

为什么对于 RGB 到灰度,SIMD 只提高一点点性能,SIMD 乘法但向量元素的标量加法?

我正在学习如何使用SIMD进行图像处理。但是,我想知道为什么使用SIMD后性能没有太大改善。 图片尺寸:3840*2160 图片格式:PixelFormat。

回答 1 投票 0

如何删除部分初始化的向量或数组的 MaybeUninit ?

我正在寻找使用 MaybeUninit 的信息和良好实践 直接初始化集合(通常是数组或向量)和 如果初始化失败,请正确删除它们。 感谢...

回答 1 投票 0

不安全上下文中 &IntPtr 和 .ToPointer() 之间的区别 - P/Invoke

我正在使用 cuDNN 并使用 C# 和 P/Invoke 来包装 CUDA/CuDNN 函数,这需要在不安全的上下文中处理指针。具体来说,我正在实现设置

回答 1 投票 0

使用不安全代码将 bytes::BytesMut 转换为 bytes::Bytes,而不使用 freeze

//创建buf来保存每个udp数据包以避免创建分配 让 mut buf = BytesMut::with_capacity(2000); 环形 { // 从套接字接收数据: 让(len,src_ep_sip)= udp_sip。

回答 1 投票 0

如果是单线程,可变静态原语实际上“不安全”吗?

我正在开发单核嵌入式芯片。在 C 和 C++ 中,静态定义可全局使用的可变值是很常见的。 Rust 的等价物大致是这样的: 静态 mut MY_VALUE:你...

回答 5 投票 0

如何在 Rust 中执行不安全的 drop()

我需要在 Rust 中执行不安全的 drop() 。 我希望能够写出相当于: 对象.set_value(&value); 下降(值); ...更多与对象有关的东西... 即使

回答 1 投票 0

编译C#不安全代码

我有一个小型 C# 类,其中有一些不安全的方法。有没有办法在 C# 源代码中以声明方式指定“/unsafe”选项(使用 #pragma 或其他方式),仅用于类源的上下文...

回答 2 投票 0

如何用 VarHandle 或外国 API 替换 Unsafe

我很难删除 Unsafe 的使用并用 VarHandle 或 MemorySegment/MemoryLayout 替换。目标是删除 Unsafe 的使用并替换为未弃用的 API。 两个前...

回答 1 投票 0

为什么我的非托管行李返回错误值?对齐偏移计算可能出现问题

我创建了这个非托管包数据持有者,它允许我在严格的非托管上下文中使用它。但是,我认为对齐似乎存在一些问题。我就是想不通...

回答 1 投票 0

通过 ref 将值分配给类成员通过 ref

有些事情让我困惑,希望你能澄清一下。 // 此类假设 T 明确兼容 TheStruct 类 ValueHolder { T_值; 该结构_structValue;

回答 1 投票 0

C# - 不安全和指针基础知识

我是一名 C++/Java 业余爱好者,但对 C# 完全陌生。 我的目标是制作一棵树,其中节点是指针,而不是不断缓慢复制的整个对象。这样我就可以简单地传递一个我...

回答 2 投票 0

创建具有相同布局和利基但没有 Drop impl 的类型

今天我遇到了以下问题: 使用 std::mem::{size_of, MaybeUninit}; 结构 Foo<'a> { foo: &'a i32, } fn 主() { println!("{}", size_of::&...

回答 1 投票 0

为什么c#中的不安全代码会出现内存错误

我在下面准备了一些小代码片段,代表我现实世界中的错误代码。 字节数 = 100; 字节*指针= &count; (*(ushort*)指针) = (ushort)byte.MaxValue; 我发现其中有错误...

回答 1 投票 0

将指针参数传递给 unsafe.Pointer:在 Go 堆中发现错误指针

使用中存在哪些问题 方法一: func 编码(v *float32) []byte { 返回 unsafe.Slice((*byte)(unsafe.Pointer(v)), 4) } 超过 方法2 func 编码(v float32) []byte { 返回...

回答 1 投票 0

将枚举变体数据指针转换为 Rust 中的枚举指针

背景: 我遇到过一种情况,我有两个具有不同内部和叶节点类型的树数据结构。我想维护一个向量,它使用...

回答 1 投票 0

如何使用数据并返回对它的引用?

背景:我正在研究一种非常快速的算法来解决“代码降临 2023 年第 8 天第 2 部分”挑战,无需使用最小公倍数方法(这意味着不可能,因此需要优化...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.