Глобальные переменные, DLL и Matlab?

Глобальные переменные Matlab очень странно ведут себя в функциях DLL.

У нас есть функция DLL. Например:

          extern "C" MATLABLIB_API dllexample(*double x, *double globalmat);

И вызвать DLL через обычную процедуру:

          calllib('MATLABLIB', 'dllexample', x, LibPointerforGlobalMat)

Где globalmat — указатель на глобальную матрицу, хранящуюся в рабочей области matlab с именем globalmat. Его данные будут обновляться различными потоками, созданными в DLL, а затем использоваться для дальнейших вычислений в DLL.

Однако возвращенные результаты очень странные; похоже, что функции DLL вообще не обновляли globalmat.

Но DLL прекрасно работает при вызове любыми программами на C ++. Мне просто интересно, почему?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector