外部インタフェース/API リファレンス | ![]() ![]() |
MATLABのメモリマネージャを使ってダイナミックメモリを割り当て
Fortran 言語表示
integer*4 function mxCalloc(n, size) integer*4 n, size
引数
n
割り当てる要素数。これは、正の数値でなければなりません。
size
戻り値
成功した場合は割り当てられたダイナミックメモリの先頭のポインタ。スタンドアロン(非MEX-ファイル)で成功しない場合、mxCalloc
は0を出力します。MEX-ファイルで成功しない場合、MEX-ファイルは終了し、制御はMATLABプロンプトに戻ります。
mxCalloc
は、十分なフリーのヒープ領域がない場合は成功しません。
詳細
MATLABメモり管理機能は、mxCalloc
(とmxCreate
の呼び出し)によって割り当てられたすべてのメモリのリストをもっています。MATLABメモリ管理機能は、制御がMATLABプロンプトに戻るときにすべてのMEX-ファイルを自動的に開放します。
デフォルトでは、MEX-ファイルでは、mxCalloc
は固定でないmxCalloc
データを生成します。言い換えると、メモリ管理機能は、MEX-ファイルが終了すると直ちにメモリを開放します。mxCalloc
によって割り当てられたメモリの利用を終了するときには、mxFree
を呼び出してください。mxFree
はメモリを開放します。
mxCalloc
は、スタンドアロンMATLABアプリケーションとMEX-ファイルとでは異なる動作をします。MEX-ファイルでは、mxCalloc
はつぎのことを自動的に行います。
n
個の要素を保持するための連続するヒープ領域を割り当てます。n
個の要素をすべて0に初期化します。スタンドアロンMATLABアプリケーションでは、MATLABのメモリマネージャは利用されません。
参考
![]() | Fortran MX-Function | mxCopyCharacterToPtr | ![]() |