如何在 C/C++ 程序中嵌入 GNU Octave?

Posted

技术标签:

【中文标题】如何在 C/C++ 程序中嵌入 GNU Octave?【英文标题】:How to embed the GNU Octave in C/C++ program? 【发布时间】:2012-03-04 00:34:32 【问题描述】:

我想使用 GNU Octave 库计算一些矩阵算法。我知道我可以使用 Octave 的 C/C++ API 进行基本使用。但是我想使用的方法不在 Octave 的默认包中。那么如何在C/C++程序中使用Octave的control package呢?

【问题讨论】:

我是 C++ 中使用 Octave 的新手。你能告诉我如何使用 Octave 的 C/C++ API 来实现它。非常感谢! 【参考方案1】:

类似的东西

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 以制作独立的可执行文件。

要调用 octave 函数,无论它们是由脚本还是 octaveforge 模块提供的,您都可以使用 feval,它将 octave 函数名称作为字符串、该函数的输入变量的 octave_value_list 以及该函数的变量数作为整数.

更多信息请参见here。

【讨论】:

任何来到这里的人都值得深思:使用 embed octave 意味着您必须在 GPL 之类的许可下发布您的代码 wiki.octave.org/…

以上是关于如何在 C/C++ 程序中嵌入 GNU Octave?的主要内容,如果未能解决你的问题,请参考以下文章