ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
18 мая
261290 Топик полностью
fk0, легенда (08.07.2011 14:54, просмотров: 98) ответил SciFi на Смысл есть: switch (i) { case A: ... case B: ... default: assert(0); }. Скажем, в default заходить не должно, вот и отлавливаем через assert.
Любительская паделка! Каждый ассерт сожрёт памяти на: собственно код, строку с выражением ("0"), один раз на файл -- строку с именем файла ("C:\Настройки и Документы\Вася\Рабочий Стол\Мои Программы\Мой Проект\file.c"). Для пик-контроллеров профессионального уровня это совершенно неприемлемо. Для финских студентов с армами, хотя, вполне сойдёт. Тем более, что можно переписать assert() на свой макрос, чтоб строку с выражением не хранить, только номер файла и строку, и с помощью subst или net use получить диск P: на котором прямо в корне лежал бы свой проект, тогда памяти займёт меньше, даже на пик-контроллер семейства микрочип будет умещаться.
[ZX]