How to embed the GNU Octave in C/C++ program?

让人想犯罪 __ 提交于 2019-12-17 10:54:42

问题


I want to calculate some matrix algorithms using the GNU Octave library. I know I can use C/C++ API of Octave for basic use. However the method I want to use is not in the default packages of Octave. So how to use Octave's control package in the C/C++ program?


回答1:


Something like this

embed.cpp

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

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

Then

mkoctfile embed.cpp --link-stand-alone -o embed in order to make a standalone executable.

To call octave functions whether they are provided by scripts or octaveforge modules you can then use feval which takes the octave function name as string, an octave_value_list of the input variables to that function, and the number of variables to that function as integer.

See here for further information.



来源:https://stackoverflow.com/questions/9246444/how-to-embed-the-gnu-octave-in-c-c-program

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!