call_scilab call_scilabは, C/C++コードからScilabエンジンをコールする機能を提供する インターフェイスです.

## 説明

Scilabはネーティブな(C/C++)アプリケーションからコールできる 可能性を提供します.

このモジュールにより, 他のコード/アプリケーションからScilabの機能をインターフェイスする ために, または,他の言語からScilabの機能をインターフェイスできるようにする ために, C/C++からScilabをコールできるようになります.

Scilab 5.2.0以降, 全てのScilabデータ型をcall_scilabで 処理できるようになりました. これは,API_Scilabにより 行われました.

このヘルプは,call_scilab APIの機能を説明します.

注意: javasci モジュールは call_scilabに基づいています.

注意: 古いAPI (stackX.h) はScilab 6.0以降では利用できません.

## 例

    // 簡単な call_scilab の例
    #include <stdio.h> /* stderr */
    #include "api_scilab.h" /* Scilabメモリにアクセスする関数を提供 */
    #include "call_scilab.h" /* Scilabエンジンをコールする関数を提供 */
    // Filename: simple_call_scilab.c
    int main(void)
    {
    /****** 初期化 **********/
    #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;
      }
    /****** 実際のScilabタスク *******/
     SendScilabJob("myMatrix=['sample','for the help']");
     SendScilabJob("disp(myMatrix);"); // !sample  for the help  !を表示します
     SendScilabJob("disp([2,3]+[-44,39]);"); // - 42.    42.  を表示します
    /****** 終了 **********/
     if ( TerminateScilab(NULL) == FALSE ) {
      fprintf(stderr,"Error while calling TerminateScilab\n");
      return -2;
     }
     return 0;
    }

## 履歴

5.4.0 新規メソッドを追加:

- `CallScilab.h` が削除されました (Scilab 5.2.0以降で廃止). `call_scilab.h`で置換されました.
- 関数 `int getLastErrorValue(void);` が追加されました. Scilabで生成された直近のエラーコードを返します.
- 関数 `const char* getLastErrorMessageSingle();` が追加されました. Scilabで生成された直近のエラーメッセージを返します.
- 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`

## 参照

- api Scilab
- Compile and run with call_scilab
- Matrix Management
- Boolean Management
- Complex Management
- String Management