Scilab 6.0.0
Scilab Help >> call_scilab API (Scilab engine) > call_scilab
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 "api_scilab.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:
|
See Also
- api Scilab — api_scilab is the Scilab 6 interface to access Scilab variables.
- 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
Comments
I am a beginner in VC++ and I have a problem to compile this in VC++ 2010 express and VC++ 2015 community edition. It seems problem occurs in linking. Please help me.
Severity Code Description Project File Line
Error LNK1120 3 unresolved externals readwriteboolean C:\Program Files\scilab-5.5.2\bin\readwriteboolean.exe 1
Severity Code Description Project File Line
Error LNK2019 unresolved external symbol _StartScilab referenced in function _main readwriteboolean C:\Program Files\scilab-5.5.2\modules\call_scilab\examples_2\basicExamples\readwriteboolean_vc\readwriteboolean.obj 1
Severity Code Description Project File Line
Error LNK2019 unresolved external symbol _TerminateScilab referenced in function _main readwriteboolean C:\Program Files\scilab-5.5.2\modules\call_scilab\examples_2\basicExamples\readwriteboolean_vc\readwriteboolean.obj 1
Severity Code Description Project File Line
Error LNK2019 unresolved external symbol _SendScilabJob referenced in function _main readwriteboolean C:\Program Files\scilab-5.5.2\modules\call_scilab\examples_2\basicExamples\readwriteboolean_vc\readwriteboolean.obj 1
Add a comment:
Please login to comment this page.