У меня есть собственная библиотека с некоторыми встроенными 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 *
:
В настоящее время из проведенных мною тестов он возвращается только для первых mxArray *
в plhs
и prhs
lists