Я пытаюсь передать массив целых чисел без знака из C ++ в Ada. В учебнике Ada Lovelace говорится, что массив Ada соответствует указателю на первый элемент массива в C ++.
Вот что я пытаюсь сделать.
C ++
unsigned int buffer[bufferSize];
...
unsigned int* getBuffer() {
return buffer;
}
Ад
pragma Import (C, C_Get_Buffer, "getBuffer");
...
function C_Get_Buffer returns System.Address;
...
Buffer : array (1 .. Buffer_Size) of Interfaces.C.Unsigned;
...
Buffer'Address := C_Get_Buffer;
Я считаю, что адрес буфера не может быть назначен как бы то ни было. Как правильно передать массив из C в Ada?
Спасибо!