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