ハンドルの読み込み (Scilab ゲートウェイ)
ハンドルの行列を読み込む方法.
呼び出し手順
入力引数プロファイル:
SciErr getMatrixOfHandle(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, long long** _pllHandle)
引数
- _pvCtx
Scilab環境ポインタ, api_scilab.h により定義された "pvApiCtx"で指定.
- _piAddress
Scilab変数のアドレス.
- _piRows
返される変数の行数.
- _piCols
返される変数の列数.
- _pllHandle
返されるデータ取得のアドレス (大きさ: _iRows * _iCols).
- SciErr
エラー構造体で,エラーメッセージ履歴と最初のエラー番号を格納します.
説明
このヘルプはハンドルの行列を読み込む方法を示します.
ゲートウェイのソース
#include "api_scilab.h" int read_write_handle(char *fname,void* pvApiCtx) { SciErr sciErr; int i; //最初の変数の情報 : double実数行列 int iRows = 0; int iCols = 0; int *piAddr = NULL; long long* pllHandle = NULL; //入力/出力引数を確認 CheckInputArgument(pvApiCtx, 1,1); CheckOutputArgument(pvApiCtx, 0,1); //最初の入力引数の変数アドレスを取得 sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr); if(sciErr.iErr) { printError(&sciErr, 0); return 0; } // Scilabメモリから大きさとデータを取得 sciErr = getMatrixOfHandle(pvApiCtx, piAddr, &iRows, &iCols, &pllHandle); if(sciErr.iErr) { printError(&sciErr, 0); return 0; } sciErr = createMatrixOfHandle(pvApiCtx, nbInputArgument(pvApiCtx) + 1, iRows, iCols, pllHandle); if(sciErr.iErr) { printError(&sciErr, 0); return 0; } AssignOutputVariable(pvApiCtx, 1) = nbInputArgument(pvApiCtx) + 1; return 0; }
Scilab テストスクリプト
履歴
バージョン | 記述 |
5.5.0 | この関数はScilab 5.5.0で追加されました |
Report an issue | ||
<< getNbOutputArgument (Scilabゲートウェイ) | Low level functions | ハンドルの書き込み (Scilab ゲートウェイ) >> |