У меня есть нативная библиотека с некоторыми нативными ntype
, и я хотел бы запустить / вызвать некоторые функции.
Мне удалось собрать:
foo1(ntype** p) ==> foo1(IntPtr[] p)
Но не знаю, как это сделать:
foo1(ntype*[] p) ==> foo1(<???> p)
Как минимум IntPtr[]
не сработало.
Редактировать
Неуправляемая функция, с которой я пытаюсь собраться:
extern mxArray* mclCreateSimpleFunctionHandle(mxFunctionPtr fcn);
, где mxFunctionPtr
:
typedef void(*mxFunctionPtr)(int nlhs, mxArray *plhs[], int nrhs, mxArray *prhs[]);
Это представляет вызов следующей подписи функции Matlab:
function [varargout] = callback(varargins)
%[
%% Do callback code %%
%]
Очевидно, из моих ожиданий, этот указатель на функцию должен предоставить мне 2 списка mxArray*
:
- Список входных аргументов (т.е. prhs, инициализированных на стороне matlab)
- Список выходных аргументов (т. Е. Plhs, все инициализированы в ноль, но в которые я должен записать)
В настоящее время из проведенных мною тестов он возвращается только для первых mxArray*
в plhs
и prhs
списках