Есть ли способ использовать .net .dlls из октавы? - PullRequest
5 голосов
/ 01 декабря 2011

Как видно из заголовка вопроса, есть ли способ вызвать функции в .net dll из октавы для импорта данных?

Ответы [ 2 ]

3 голосов
/ 01 декабря 2011

Поскольку Octave не содержит каких-либо специфичных для Windows или .NET функций, я не вижу возможности без написания какой-либо оболочки для вашей .NET dll.

Возможность 1: написать оболочку командной строки для вашей библиотеки .NET и запустить ее с помощью команды system Octave. Может быть хорошо, если вам нужно всего несколько звонков в DLL. Вы можете записать данные, которые вы хотите импортировать, в файл и прочитать их, используя Octave.

Возможность 2: написать оболочку веб-службы для .NET DLL. Вызовите это через функцию urlread Octave, которая позволяет HTTP GET и отправлять команды (см. здесь ).

Возможность 3: написать программу на Wrapper на C #, которая связывается с вашей .NET DLL и использует эту оболочку Octave для управления интерпретатором Octave. Может подойти, только если вы можете организовать поток управления, чтобы скрипты Octave не вызывали вашу .NET DLL напрямую.

Читайте также этот другой пост SO, "interfacing-octave-with-c-sharp" .

0 голосов
/ 23 ноября 2017

Существует пакет Windows для взаимодействия с COM.Таким образом, если библиотека .NET видна для COM, доступ к ней должен быть возможен и из Octave.

Хотя я не проверял это.Более того, большинство библиотек .NET не предназначены для взаимодействия COM.Добавление этой способности в библиотеку или написание оболочки может быть утомительным.

...