Установите элементы данных в mxINT64_CLASS массив
#include "matrix.h" int mxSetInt64s(mxArray *pa, mxInt64 *dt);
Использование mxSetInt64s установить mxInt64 данные заданного mxArray.
Весь mxCreate* функции выделяют пространство "кучи", чтобы содержать данные. Поэтому вы обычно не используете эту функцию, чтобы инициализировать элементы массива. Скорее вызовите функцию, чтобы заменить существующие значения на новые значения.
Эта функция не освобождает память выделенный для существующих данных. Чтобы освободить существующую память, вызвать mxFree на указателе, возвращенном mxGetInt64s.
Обратитесь к arrayFillSetPr.c пример в папка, которая копирует существующие данные в matlabroot/extern/examples/refbookmxArray. Данные в примере заданы как mxDouble. Изменить этот пример для int64 данные:
Объявите переменные данных как mxInt64
Вызвать mxCreateNumericMatrix с числовым типом mxINT64_CLASS
Замена mxSetDoubles с mxSetInt64s помещать массив C в mxArray
Эта функция доступна в чередованном комплексном API. Создавать myMexFile.c с помощью этой функции введите:
mex -R2018a myMexFile.c