如何在 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?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改默认的 C/C++ gnu readline 换行符?

[转]什么是Pro*C/C++,嵌入式SQL,第一个pro*c程序,pro*c++,Makefile,Proc增删改查

在Linux下如何开发C程序?

设置一个ARM汇编使用(GNU)使用c中的函数实现两数组对应位相乘后进行累加,回答详细可随意加分,如下程序:

在编译时为大型 C/C++ 项目使用 GNU m4

如何学习嵌入式