Мне необходимо в C# создать массив типа double с фиксированной величиной. Далее я его заполняю значениями. Передаю массив в библиотеку C++ и там часть данных отсекаю. После я должен вернуть обратно данный массив, но уже с другим размером. Как это можно реализовать?
Без усечения версия
C#
int count = 5;
float[] resultVertices = new float[count];
GCHandle handle = GCHandle.Alloc(resultVertices, GCHandleType.Pinned);
IntPtr address = handle.AddrOfPinnedObject();
myFunc(address, count);
handle.Free()
C++
extern "C" _declspec(dllexport) void MyCppFunc2(float* resultVerts, int vertLength)
{
resultVerts[0] = 0.123f;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости