unsafe相关内容

使用不安全代码的含义是什么

除了代码本身可以直接访问内存的事实。使用“ / unsafe”编译器标志和“ fixed”关键字还有什么其他含义?是否有与我的.exe(我的应用程序仅在桌面上)的代码签名和部署相关的影响? (这与我是否应该为此,我的问题此处涵盖了为什么 >) 解决方案 不安全的代码不可验证,因此您必须意识到这一点。在完全信任环境中,这没什么大不了的,但是如果您在其他环境中设置了更严格的权限,那么这可 ..
发布时间:2020-10-03 01:37:12 C#/.NET

转换Vec< u32>到Vec< u8>就地且开销最小

我正在尝试将 u32 s的 Vec 转换为 Vec 的 u8 s,最好是就地且没有太多开销。 我当前解决方案依靠不安全的代码来重构 Vec 。有没有更好的方法可以做到这一点,与我的解决方案相关的风险是什么? use std :: mem; 使用std :: vec :: Vec; fn main(){ let mut vec32 = vec![1u32,2]; 让vec ..
发布时间:2020-09-29 22:01:54 其他开发

将float []转换为byte []的最快方法是什么?

我想尽快从 float [] 中获取一个 byte [] 通过整个数组(可能通过强制转换)。不安全的代码是可以的。 我正在寻找一个比float数组长4倍的字节数组(字节数组的尺寸将是float数组的4倍,因为每个数组浮点数由4个字节组成)。我将其传递给BinaryWriter。 编辑: 对于那些批评“过早优化”的批评家: 在优化之前,我已经使用ANTS探查器对此进行了基准测试。由于 ..
发布时间:2020-09-25 19:32:33 C#/.NET

如何在Rust中执行有效的矢量初始化?

在Rust中填充结构向量的好方法是: 大小是动态的,但在当时是已知的 不会首先将内存初始化为虚拟值。 不会在内存已满时重新分配内存。 li> 在此示例中,向量的所有成员总是 初始化。 (与Rusts保证没有未定义的行为一样)。 理想地 Doesn' t索引检查每个索引访问 (因为在声明向量时应该知道大小,这是可能的。)。 不需要不安全 (不确定这是否合理,但是编译器 ..
发布时间:2020-09-24 21:26:42 其他开发

在Safari 10中设置不安全模式的位置,以使Java插件访问本地文件

我刚刚将Safari浏览器从Safari 9更新为safari 10 beta版. 我的客户端是从页面运行的Java小程序.在Safari 9及更低版本中,它运行正常.但是在Safari 10 Beta中,它失败了. 我发现Safari 10会阻止从Java applet访问本地文件. 所以我认为这是因为Java插件在安全模式下运行. 但是在Safari中->首选项->安全->插件设置. 没有要检 ..
发布时间:2020-09-06 05:00:48 其他开发

angular2和window.URL.createObjectURL

我使用window.URL.createObjectURL创建blob:http链接,以预览img标签中的选定图像: itemPhoto是在组件中定义的字段,并且在选择图像文件时被分配: selectPhoto(photos: any[]) { if (photos[0]) { this.itemPho ..
发布时间:2020-08-13 00:38:53 其他开发

暂时将[u8]转换为[u16]

我有一个[u8; 16384]和u16.我将如何“临时转换"数组,以便一次设置两个u8,第一个为最低有效字节,第二个为最高有效字节? 解决方案 如DK所建议的,您可能不应该确实使用unsafe代码来重新解释内存...但是如果您愿意,可以这样做. 如果您真的想走那条路线,则应该注意一些陷阱: 您可能会遇到对齐问题.如果只是从某个地方取一个&mut [u8]并将其转换为&mut [ ..
发布时间:2020-07-17 19:55:58 其他开发

如何使用不安全的代码Unity

我想在C#中使用C ++代码来统一使用CLR. 程序在统一之外可以正常运行,但是在引擎内部却给我一个错误: "cs0227:不安全代码要求指定'unsafe'命令行选项" 我真的很困惑,因为该项目在Visual Studio中成功构建(没有任何错误或警告).我已激活"允许 不安全"按钮. using UnityEngine; using System.Collections; ..
发布时间:2020-07-12 19:58:15 C#/.NET

如何测试AccessViolationException的处理

我需要编写一个测试来验证我的代码可以处理AccessViolationException(或任何其他WIN32损坏状态异常-CSE),该错误通常在不安全的上下文中发生,通常是通过调用第三方lib。 这应该全部在.net 4.0上使用C#完成。 我发现了这个相关问题如何处理AccessViolationException 和与此相关的文章 http://dotnetslackers.com/ ..
发布时间:2020-06-01 00:18:30 C#/.NET

即使在project.json中将allowunsafe标志设置为true后,.Net Core中仍存在不安全的代码编译错误

我在.Net核心应用程序中使用了一些不安全的代码。 为此,我在project.json文件中进行了更改 “ compilationOptions”:{ “ allowUnsafe” :true, } 仍然出现此错误错误CS0227:不安全代码仅在编译时才会出现/ unsafe 我已经经历过了 不安全的代码无法在Visual Studio 2015上编译 如何调用 ..
发布时间:2020-05-31 19:42:59 C#/.NET

在Rust中高效地写入多个字节

我正在Rust中使用原始指针,并试图将一个内存区域从一个地方复制到另一个地方.我已经成功地复制了内存,但是仅使用了for循环并使用指针的偏移量分别复制了每个字节.我无法弄清楚如何更有效地执行此操作,即作为一个字节字符串的单个副本,有人可以向我指出正确的方向吗? fn copy_block_memory(src: *const T, dst: *mut u8) { let src ..
发布时间:2020-05-28 22:58:54 其他开发

如何使用golang中的unsafe.Pointer指针从数组创建数组或切片?

一个指向数组的指针,比如说: p := uintptr(unsafe.Pointer(&array)) size := 5 我无法访问变量array,上面的代码用于使其更加清晰. 此外,我知道数组的大小,但是size不是恒定的,它会根据运行时而变化. 现在,我想使用已知的指针,大小和数据类型初始化切片或数组. 我想出了以下代码: data := make([]by ..
发布时间:2020-05-28 22:30:02 其他开发

如何在C#中显示指针地址?

自从我用C#编程以来,我还没有做任何指针-我的C ++时代很久以前.我认为我应该刷新自己的知识,并且因为这里还有另一个问题而只是和他们一起玩.我对它们都了解,但是我不知道如何将指针的地址写入控制台... char c = 'c'; char d = 'd'; char e = 'e'; unsafe { char* cp = &d; //How do I write the ..
发布时间:2020-05-28 22:27:03 C#/.NET