call_scilab =========== call_scilab is an interface which provides the ability to call Scilab engine from C/C++ code Description ~~~~~~~~~~~ Scilab offers the possibility to be called from a native (C/C++) application. Thanks to this module, it is possible to call Scilab from C/C++ in order to interface Scilab's features from an other code/application or to be able to interface Scilab's features from an other language. Since Scilab 5.2.0, all Scilab datatype can be handle by call_scilab. This is done thanks to `API_Scilab`_ This help describes the features of the call_scilab API. Note: The `javasci`_ module is based on call_scilab. Note: old APIs (stackX.h) will not be available after Scilab 6.0 (included). Examples ~~~~~~~~ :: // A simple call_scilab example #include /* stderr */ #include "stack-c.h" /* Provide functions to access to the memory of Scilab */ #include "call_scilab.h" /* Provide functions to `call`_ Scilab engine */ // Filename: simple_call_scilab.c `int`_ main(void) { /****** INITIALIZATION **********/ #ifdef _MSC_VER if ( StartScilab(NULL,NULL,NULL) == FALSE ) #else if ( StartScilab(`getenv`_("SCI"),NULL,NULL) == FALSE ) #endif { `fprintf`_(stderr,"Error while calling StartScilab\n"); return -1; } /****** ACTUAL Scilab TASKS *******/ SendScilabJob("myMatrix=['`sample`_','for the help']"); SendScilabJob("disp(myMatrix);"); // Will display !sample for the help ! SendScilabJob("disp([2,3]+[-44,39]);"); // Will display - 42. 42. /****** TERMINATION **********/ if ( TerminateScilab(NULL) == FALSE ) { `fprintf`_(stderr,"Error while calling TerminateScilab\n"); return -2; } return 0; } History ~~~~~~~ Version Description 5.4.0 New methods added: + `CallScilab.h` removed (was deprecated since Scilab 5.2.0). Replaced by `call_scilab.h` + Function `int getLastErrorValue(void);` added. Returns the last error code generated by Scilab + Function `const char* getLastErrorMessageSingle();` added. Returns the last error message generated by Scilab + Remove deprecated functions in call_scilab.h: `C2F(readmat), C2F(creadmat), C2F(creadbmat), C2F(creadcmat), C2F(readchain), C2F(creadchain), C2F(creadchains), GetLengthStringMatrixByName, C2F(matptr), C2F(cmatptr), C2F(cmatcptr), C2F(cmatsptr), C2F(cmatbptr), getlengthchain` See Also ~~~~~~~~ + `api Scilab`_ api_scilab is the Scilab interface to read/write data from/to Scilab memory + `Compile and run with call_scilab`_ How to compile a native application based on or using Scilab + `Matrix Management`_ How to manage Scilab's variable read and write process using call_scilab and api_scilab + `Boolean Management`_ How to manage Scilab's boolean read and write process using call_scilab and api_scilab + `Complex Management`_ How to manage Scilab's complex variable read and write process using call_scilab + `String Management`_ How to manage Scilab's String read and write process using call_scilab and api_scilab .. _javasci: javasci.html .. _Matrix Management: DoubleManagement_callscilab.html .. _Boolean Management: BooleanManagement_callscilab.html .. _api Scilab: api_scilab.html .. _Complex Management: ComplexManagement_callscilab.html .. _Compile and run with call_scilab: compile_and_run_call_scilab.html .. _String Management: StringManagement_callscilab.html