Раз-раз, как слышно?

« картинки и свежие анекдоты | чат

Раз-раз, как слышно?

Требовалось однажды создать двумерный логический массив 8×8. Памяти было очень мало, экономить приходилось на всём. А bool в C (да и почти везде) занимает непростительно много — целый байт. На весь массив, таким образом, ушла бы восьмая килобайта, а их было всего два. При этом от нас требовалась переносимость — просто взять несколько int для этой цели не удалось бы, так как мы не знали точного количества байтов в int на каждой конкретной платформе.

Задача решилась просто: мы взяли символьный массив из восьми элементов (char занимает один байт ровно на всех платформах) и использовали его как двумерный булеановский.

Это присказка, а не сказка. В одном ветвлении программы, которое становилось возможным с трёх дней постоянной работы (времени на тестирование было недостаточно, чтобы заметить это) закралось две ошибки. Первая — банальное падение программы. Вторая — забытое преобразование из char в int элементов массива при записи в лог. Когда программа упала, местный айтишник посмотрел в лог… Ну надо же было массиву принять значение {1, 1, x, y, u, -, \}!

Комментарий:

Ваше имя:

Ещё интересное на этом сайте:

Анекдот дня по итогам голосования за 02 мая 2014
История дня по итогам голосования за 02 мая 2014
Афоризм дня по итогам голосования за 02 мая 2014
Цифры
Тест сабвуфера в турецкой лавке
Дерево мстит
"Девушка с улыбкой на миллион"
Путин назначил Наталью Поклонскую прокурором Крыма
Плюшевый нянь
Спасибо ДЕДУ за ПОБЕДУ!!!!
Внедорожники. Самый лучший из них
И вот на чем вертится мир!
Путин глазами бандеровцев
Кто отломил зеркало?
Оползень
Пантомима - читаем по губам
Не могу понять это фейк?
Интерьеры простых египетских домов
Помянем Nokia
Столкновения в Одессе
« все анекдоты и картинки
Рейтинг@Mail.ru