2012-02-12 29 views
8

我想用GNU Octave庫來計算一些矩陣算法。我知道我可以使用Octave的C/C++ API進行基本的使用。但是我想使用的方法不在Octave的默認包中。那麼如何在C/C++程序中使用Octave的control package如何在C/C++程序中嵌入GNU Octave?

+0

我是新的C鍵使用倍頻++。你能告訴我如何使用Octave的C/C++ API來實現它。非常感謝你! – Timothy 2014-05-15 02:18:10

回答

13

像這樣的事情

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函數,不管它們是由腳本還是八度音形模塊提供,都可以使用feval,它將八度函數名稱作爲字符串,該函數的輸入變量的octave_value_list以及該函數的變量數目整數。

有關更多信息,請參閱here

+1

任何人在這裏登陸的思考:使用嵌入八度意味着你必須在GPL許可下發布你的代碼http://wiki.octave.org/FAQ#If_I_write_code_using_Octave_do_I_have_to_release_it_under_the_GPL.3F – waiting4op2deliver 2016-11-19 06:36:55