Показаны сообщения с ярлыком c++. Показать все сообщения
Показаны сообщения с ярлыком c++. Показать все сообщения

четверг, 1 января 2015 г.

Парад планет

В фильме «2012» парад планет 
оказывает негативное влияние на Солнце,
 что приводит к ужасным катаклизмам на нашей планете.
 (выдержка из Wikipedia)

Был на работе недавно довольно эпичный баг. Сформулирован он был примерно следующим образом: после развертывания компоненты FDE (Full disk encryption) Windows загружается но на экране ничего не отображается (черный экран). Разбирательство с этим багом у нас заняло несколько месяцев (естественно, не фулл-тайм), и вот, наконец, мы докопались до сути.

Итак, в этом баге встретились несколько особенностей: во-первых, особенности реализации  эмулятора 16-ти битного кода в ядре Windows, во-вторых, особенности BIOS конкретной машины, ну и в-третьих, наша пребутовая компонента, которая перехватывает некоторые прерывания BIOS для своих нужд.

суббота, 21 января 2012 г.

Secure Coding

Наша компания купила курс для программистов C, C++: "Secure Coding in C and C++". Для проведения курса был приглашен преподаватель из Carnegie Mellon University. Я попытаюсь сделать краткий обзор лекций, которые нам были прочитаны. Скажу сразу - это мое субъективное мнение.

воскресенье, 24 октября 2010 г.

Приемы программирования. Part 1

Язык C
Как писать функции, безопасные с точки зрения утечки ресурсов.
Под ресурсами понимаются открытые файлы, сокеты, хэндлы, выделенная память.

Наша функция должна работать с ресурсом (читать из него, писать в него), при этом количество точек выхода из функции велико, если вдобавок мы работаем с несколькими ресурсами (например перекладываем данные из двух файлов в один по некоторому алгоритму), то становится очень сложно следить за всеми ресурсами. Если же мы модифицируем алгоритм (например, добавляем еще один ресурс), то во все точки выхода придется добавлять закрытие этого ресурса, к тому же постоянное повторение одних и тех же фрагментов понижает читабельность кода