Как встроить GNU Octave в программу C / C ++? - PullRequest
10 голосов
/ 12 февраля 2012

Я хочу вычислить некоторые матричные алгоритмы, используя библиотеку GNU Octave. Я знаю, что могу использовать C / C ++ API Octave для базового использования. Однако метод, который я хочу использовать, не входит в стандартные пакеты Octave. Итак, как использовать контрольный пакет Octave в программе C / C ++?

1 Ответ

16 голосов
/ 12 февраля 2012

Примерно так:

embed.cpp

#include <iostream>
#include <octave/octave.h>

int main(int argc,char* argv)
{
  int embedded;
  octave_main(argc,argv,embedded=0);  
  return embedded;
}

Затем

mkoctfile embed.cpp --link-stand-alone -o embed, чтобы сделать автономный исполняемый файл.

Для вызова функций октавы, независимо от того, предоставляются ли они скриптами или модулями octaveforge, вы можете использовать feval, который принимает имя функции октавы в виде строки, octave_value_list входных переменных этой функции и количество переменных этой функциицелое число.

См. здесь для получения дополнительной информации.

...