- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在不安全类中使用共享内存进行进程间通信。保留一部分内存用于存放固定的 int 数组。
基本上,我有一个设置共享内存的方法。像这样:
private int* sizePtr;
private ???* arrayPtr;
void SetupMemory(byte *pointerToSharedMem)
{
this.sizePtr = (int*)pointerToSharedMem;
pointerToSharedMem += sizeof(int);
this.arrayPtr = (???*)pointerToSharedMem;
pointerToSharedMem += sizeof(int) * FixedSizeOfArray;
}
我需要如何声明指针才能使用属性
public int[] MyArray
{
get
{
return some magic with this.arrayPtr;
}
}
预计到达时间:如果可能的话,我想避免结构,我绝对想避免复制数据。我希望某种类型的转换构造使用指向共享内存中数据的指针,以便可以立即使用数据(即无需复制)。
最佳答案
其实我还能想到另一个答案。
不过,如果你不正确地使用它,这很可能会变得丑陋。
小心!
public unsafe class UnsafeArray
{
private readonly int* _start;
public readonly int Length;
public UnsafeArray(int* start, int enforceLength = 0)
{
this._start = start;
this.Length = enforceLength > 0 ? enforceLength : int.MaxValue;
}
public int this[int index]
{
get { return _start[index]; }
set
{
if (index >= this.Length)
{
throw new IndexOutOfRangeException();
}
_start[index] = value;
}
}
}
关于c# - 不安全 C# : How can I create an int[] from a pointer to a preexisting memory location?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9866231/
我有一个包含 3 列(id、用户名、密码)的表,我想将这 3 列复制到不同的表中,我错误地复制但删除了(密码)新表中的一列。现在我想将旧表中的列复制到新表中。但我不知道该怎么做。请帮助我 最佳答案 如
尝试启动 mongo 守护程序时出现此错误。 CONTROL [main] Failed global initialization: FileRenameFailed: Couldnot renam
我以前的所有项目都使用 DatabaseCleaner,所以我习惯于从一个空的数据库开始,并在每个测试中使用 FactoryGirl 创建测试数据。 目前,我正在从事一个项目,该项目有一个包含许多记录
我正在使用以下格式的语句: insert into $table (field, value) values (:name, :value) on duplicate key update value
在此随机English-Wikipedia edit page可以添加一些内容(比如“测试”),然后通过 Alt+Shift+S 的预先存在的组合键保存它。 我希望特别地防止这种行为(无需使用 doc
我在不安全类中使用共享内存进行进程间通信。保留一部分内存用于存放固定的 int 数组。 基本上,我有一个设置共享内存的方法。像这样: private int* sizePtr; private ???
我是一名优秀的程序员,十分优秀!