Передать double**
От: Пабло Кабанейро  
Дата: 03.05.04 08:05
Оценка:
Есть dll, написанная на C (без плюсов), в которой масса функций, реализующих разнообразные численные методы. Я пытаюсь работать с этой библиотекой из C# при помощи PInvoke. Многим из этих процедур нужно передавать массивы. С одномерными (вроде double*) я разобрался; передача "обычных" параметров (double, int и т.д.) тоже не вызвала затруднений. А вот с многомерными массивами у меня до сих пор не получилось Уважаемые коллеги, подскажите, пожалуйста, как грамотно передать, например, double**, т.е. двумерный массив, в dll?
Re: Передать double**
От: vdimas Россия  
Дата: 03.05.04 21:14
Оценка:
Здравствуйте, Пабло Кабанейро, Вы писали:

ПК>Есть dll, написанная на C (без плюсов), в которой масса функций, реализующих разнообразные численные методы. Я пытаюсь работать с этой библиотекой из C# при помощи PInvoke. Многим из этих процедур нужно передавать массивы. С одномерными (вроде double*) я разобрался; передача "обычных" параметров (double, int и т.д.) тоже не вызвала затруднений. А вот с многомерными массивами у меня до сих пор не получилось Уважаемые коллеги, подскажите, пожалуйста, как грамотно передать, например, double**, т.е. двумерный массив, в dll?


лучше всего просто через double*, так же, как и одномерный.

многомерный массив — это абстракция, считай это просто куском памяти и в С++ это будет просто указатель на первый элемент.

а вот double** — это указатель на массив указателей в твоем случае, что совсем не то, что тебе нужно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.