- Scilab Online Help
- call_scilab API
- Boolean management
- Complex management
- DisableInteractiveMode
- Double management
- GetLastJob
- ScilabHaveAGraph
- SendScilabJob
- SendScilabJobs
- StartScilab
- String management
- TerminateScilab
- call_scilab
- Compile and run with Call Scilab
- creadbmat (obsolete)
- creadchain (obsolete)
- creadcmat (obsolete)
- creadmat (obsolete)
- cwritebmat (obsolete)
- cwritechain (obsolete)
- cwritecmat (obsolete)
- cwritemat (obsolete)
- fromc
- fromjava
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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 <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; }
See Also
Authors
Sylvestre Ledru
<< TerminateScilab | call_scilab API | Compile and run with Call Scilab >> |