11得票4回答
如果在单线程环境下,可变的静态基元类型是否实际上是“不安全”的?

我正在开发单核嵌入式芯片。在C和C++中,通常会静态定义可变的值,以便可以全局使用。对应的Rust代码大致如下: static mut MY_VALUE: usize = 0; pub fn set_value(val: usize) { unsafe { MY_VALUE = v...

29得票6回答
真正的不安全代码性能

我知道不安全的代码更适合访问诸如Windows API并执行不安全类型转换等操作,而不是编写更高效的代码。但我想问你,在实际应用中,与使用安全的C#代码相比,你是否曾经注意到过使用不安全的代码可以带来显著的性能提升。

25得票2回答
在将allowunsafe标志设置为true后,在.NET Core中编译不安全代码仍出现错误

我在我的.NET Core应用程序中使用一些不安全的代码。为此,我对project.json文件进行了如下更改: "compilationOptions": { "allowUnsafe": true, } 然而,我仍然得到错误信息 CS0227: Unsafe code may...

11得票3回答
不安全的代码将无法在Visual Studio 2015上编译。

我正在尝试在新的DNX4.6核心上编译一个程序,但由于以下原因无法编译: error CS0227:如果使用/unsafe编译,则不安全的代码才能出现 这是我的代码: [CompilerGenerated] public unsafe class GrayscaleQuant...

10得票7回答
C#中不安全的值类型数组转换为字节数组

我使用一个扩展方法将浮点数组转换为字节数组:public static unsafe byte[] ToByteArray(this float[] floatArray, int count) { int arrayLength = floatArray.Length > co...

15得票1回答
为什么这段不安全的代码会抛出NullReferenceException异常?

我在为Code Golf上的一个问题尝试使用不安全代码,但我发现了一个无法解释的问题。以下是我的代码:unsafe { int i = *(int*)0; } 出现访问冲突(段错误)导致崩溃,但是这段代码:unsafe { *(int*)0=0; } 抛出一个NullRefer...

9得票2回答
为什么这个byte*和uint的加法没有进位到更高的双字中?

现在已在Microsoft Connect上提交,如果您认为需要修复,请投票支持。我也大幅简化了测试用例: byte* data = (byte*) 0x76543210; uint offset = 0x80000000; byte* wrong = data + offset; byte...

8得票1回答
Delphi:对象聚合和使用[weak]属性的内存泄漏问题

我想要构建一个类TParent,通过聚合包含多个子对象。其中一些对象是独立的,而有些对象也可以依赖于其他子对象。所有子对象都必须具有对父对象的引用。我还想在可能的情况下使用接口。 为此,我使用TInterfacedObject作为TParent,并使用TAggregatedObject作为子...

24得票4回答
Java中的"内部地址"是什么?

在Object.hashCode()的Javadoc中,它声明: 尽可能合理地说,由类 Object 定义的hashCode方法确实为不同的对象返回不同的整数。(通常通过将对象内部地址转换为整数来实现此功能,但Java™编程语言不要求使用此实现技术。) 这是一个常见的误解,认为hash...

11得票2回答
什么是Haskell中的不安全函数?

我认为不安全的函数是指一个函数声称它将返回某种类型的值,但实际上它可能会抛出异常并结束执行,因此根本没有返回任何值,但我不确定。 或者说不安全的函数是指可以返回与签名中声明的类型不同的值的函数吗?这不是一种弱类型函数吗? 在Haskell中,弱类型和不安全是否是同义词? 这可能是一个愚蠢...