Принятие целевого массива имеет достаточно пространства, Array.Copy()
будет работать. Вы могли бы также попытаться использовать List
и .AddRange()
метод.
Независимо от того, сколько памяти вы эмулируете, вам не требуется такой объем памяти, доступный на хост-машине (вам не нужно 4 ГБ, и вы даже не нужно 4 МБ). Вместо этого используйте структуру данных, в которой вы можете получить доступ к эмулируемой памяти по значению адреса. Выделяйте пространство в вашей реальной памяти только тогда, когда вам нужно что-то сохранить в вашей эмулируемой памяти.
Однако может быть тривиальным фактически выделить объем внутренней памяти, описанный выше.
Как и Саймон, я также сначала предположу, что сегмент: теория смещения, но адреса диапазоны , которые вы перечислили выше, похоже, полностью противоречат этой теории. Кроме того, все «64-битное» адресное пространство.
Обратите внимание, что большая часть адресного пространства выделена внешним интерфейсам (картриджам и т. Д.),