Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Пятница
16 мая
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
791606
Топик полностью
SciFi
(03.11.2017 11:06, просмотров: 155)
ответил
fk0
на
Ассерт очень тонкая вещь. Ты, представь, ракету в космос запускаешь. И у тебя сработал ассерт в какой-то малозначительной функции, в малозначительном модуле. А упадёт из-за этого вся ракета. Иногда ошибки в программе лучше обрабатывать каким-то
Поэтому ассерт устроен вот так: #ifdef NDEBUG #define assert(x) // nothing
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้
Ответить
НЕТ. Заметь, NDEBUG нужно искусственно определить. Поэтому ассертом нужно ловить такие вещи, когда уже точно конец и последующий abort() хуже не сделает. А для штатных ошибок нужно не assert, а if писать и возвращать ошибку через штатный механизм
fk0
(50 знак., 03.11.2017 11:16
)