私はC++でこれらの宣言を持っています:
struct objectStruct;
int positionMemory = getPosition();
short size = getSize();
void *allocatedObject; // Originally, it is in C#: IntPtr allocatedObject { get; private set; }
byte[] byteName = Encoding.ASCII.GetBytes("Hello There");
これらのコード行をC#からC++に変換したいと思います。
string result = Marshal.PtrToStringAnsi(new IntPtr(positionMemory), size);
Marshal.StructureToPtr(objectStruct, new IntPtr(positionMemory), true);
Marshal.Copy(byteName, 0, new IntPtr(positionMemory), size);
long posInMemory = allocatedObject.Offset(size).ToInt64();
私はマーシャリングに精通していません。