Рассмотрим такую структуру, как System.Drawing.Point, с LayoutKind.Sequential и содержащую только примитивные члены.У меня есть массив таких структур C #.
Я передаю его (неуправляемой) функции C ++ через P / Invoke. На стороне C ++ есть соответствующее определение структуры (например, struct Point {int x, y;};
). Функция принимает Point *
arg.
У меня вопрос: в каких случаях среда CLR копирует данные, а в каких - просто закрепляет их? Переменные включают:
Point *
или Point []
/ Point [,]
исправлено (Point * pointer = array)
или нет Я хочу избежать копирования, потому что оно медленное.