call_scilab is an interface which provides the ability to call Scilab engine from C/C++ code
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).
// A simple call_scilab example
#include <stdio.h> /* 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;
}
Version Description 5.4.0 New methods added: