外部インタフェース/API リファレンス | ![]() ![]() |
C 言語表示
#include "matrix.h" void mxAssert(int expr, char *error_message);
error_message
詳細
ANSI Cのassert()
マクロと同様に、mxAssert
は診断の値をチェックし、診断が保持される場合にのみ実行を続けます。expr
が真と評価する場合は、mxAssert
は何も行いません。expr
が偽ならば、mxAssert
は失敗した診断の式、ファイル名、失敗した診断が生じた行番号、error_message
文字列からなるエラーをMATLABコマンドウィンドウに表示します。error_message
文字列を使うことにより、診断が失敗した理由の記述を指定できます。記述が失敗した診断メッセージに従う必要がない場合は、空文字列を使ってください。
診断が失敗した後で、制御はMATLABコマンドラインに戻ります。
MEXスクリプトは、最適化されたMEX-ファンクションを構築するときには、これらの診断をオフにするので、この関数はデバッグの目的にだけ利用してください。
診断は、ロジックの内部整合性を維持する方法です。これらを使って、ユーザ自身がコードを誤って使用するのを防ぎ、エラーが検出される前に論理エラーが伝播するのを防ぎます。ユーザ定義コードの複数のユーザがコードを誤って使用するのを防ぐためには、診断は使わないでください。
診断は、Cプリプロセッサによってコードから得ることができます。これらのチェックを、開発中に利用できます。そして、コードが正しく動作するときには外すことができます。この方法では、できあがったMEX-ファイルの実行速度を損なわずに、開発中にトラブルシュートすることができます。
![]() | mxArrayToString | mxAssertS | ![]() |