cvlabmiet / openvxtest

Тестовое задание при приёме на работу
2 stars 1 forks source link

Как работать с vx_array? #5

Closed nikitakutsenko closed 4 years ago

nikitakutsenko commented 4 years ago

Хочу создать vx_array и положить в него какие нибудь данные. Делаю это так

vx_array a; a -> size = 5; a -> data = calloc(a->size, sizeof(vx_float32)); a -> array_type = VX_TYPE_FLOAT32;

make не находит никаких ошибок, но во время запуска исполняемого файла происходит ошибка сегментации. Как это исправить?

igsha commented 4 years ago

А как сами данные кладёте? Может быть там проблема? В приведённых строчках нету ошибки.

nikitakutsenko commented 4 years ago

Дело в том, что ошибка происходит уже при a -> size = 5;

igsha commented 4 years ago

А, я понял. vx_array - это указатель на структуру, для него надо зарезервировать место. Используйте лучше структуру, на которую указатель ссылается: _vx_array. То есть, вместо vx_array a; надо писать _vx_array a;. А передавать в аргументы функций следует уже vx_array.