Проверяйте значение утверждения на отладку целей
#include "matrix.h" void mxAssert(int expr, char *error_message);
expr
Значение утверждения
error_message
Описание того, почему утверждение перестало работать
Как ANSI® C
assert
макрос, mxAssert
проверяет значение утверждения и продолжает выполнение, только если утверждение содержит. Если expr
оценивает к логическому 1
TRUE
), mxAssert
ничего не делает. Если expr
оценивает к логическому 0
ложь
), mxAssert
отключает файл MEX и распечатывает ошибку к MATLAB® командное окно. Ошибка содержит выражение не пройдено утверждения, имени файла и номера строки, где не пройдено утверждение произошло, и error_message
текст. error_message
позволяет вам задавать лучшее описание того, почему утверждение перестало работать. Используйте пустую строку, если вы не хотите, чтобы описание следовало не пройдено сообщению утверждения.
mex
скрипт выключает эти утверждения, когда создание оптимизировало MEX-функции, таким образом используйте утверждения для отладки целей только. Использовать mxAssert
, создайте файл MEX с помощью mex -g filename
синтаксис.
Утверждения являются способом обеспечить внутреннюю непротиворечивость логики. Используйте их, чтобы помешать себе неправильно использовать ваш собственный код и препятствовать логическим ошибкам распространить, прежде чем они будут отловлены. Не используйте утверждения, чтобы препятствовать тому, чтобы пользователи вашего кода неправильно использовали его.
Утверждения могут быть вынуты из вашего кода препроцессором C. Можно использовать эти проверки во время разработки и затем удалить их, когда код работает правильно. Используйте утверждения для поиска и устранения неисправностей во время разработки, не замедляя конечный продукт.