Как стать автором
Поиск
Написать публикацию
Обновить
41
0
Евгений Никитенко @Jeka8

Программист

Отправить сообщение

Спецификатор constexpr в C++11 и в C++14

Время на прочтение16 мин
Количество просмотров232K
Одна из новых возможностей C++11 — спецификатор constexpr. С помощью него можно создавать переменные, функции и даже объекты, которые будут рассчитаны на этапе компиляции. Это удобно, ведь раньше для таких целей приходилось использовать шаблоны. Но тут все не так просто. У тех, кто не так хорошо знаком с constexpr, может сложиться впечатление, что теперь не будет никаких проблем с расчетами на этапе компиляции. Но на constexpr-выражения наложены серьезные ограничения.

В первой части будет рассказано про constexpr, о том, какие будут изменения в стандарте C++14, а во второй части будет пример использования constexpr: библиотека, которая считает результат математического выражения в строке.
С помощью нее можно будет написать следующий код:
constexpr auto x = "(4^2-9)/8+2/3"_solve;
std::cout << "Answer is " << x;

И ответ в виде дроби будет получен на этапе компиляции:
Answer is 37/24
Сразу предупреждаю, код этой библиотеки сложно понять.
Кому эта тема интересна, добро пожаловать под кат!
Читать дальше →

Microsoft исправила уязвимость с синим экраном

Время на прочтение1 мин
Количество просмотров39K
Два дня назад я написал статью Как уронить Windows шестью строчками кода.
Через 2 дня вышло обновление безопасности Microsoft: technet.microsoft.com/en-us/security/bulletin/ms13-046.
После установки обновления уязвимость исправили, система перестала вылетать в синий экран. Довольно оперативненько исправили: всего-то за два дня (хотя оригинальная статья появилась 3 месяца назад).

Методом исключения был выявлен пакет обновления, который исправляет уязвимость. На сайте Microsoft сказано, что он исправляет три уязвимости в ядре системы.
Про уязвимость, которой посвящен топик, Microsoft на сайте сказано следующее:

Win32k Buffer Overflow Vulnerability — CVE-2013-1333
An elevation of privilege vulnerability exists when the Windows kernel-mode driver improperly handles objects in memory. An attacker who successfully exploited this vulnerability could cause system instability.


Видимо, представители Microsoft тоже читают Хабрахабр.

Как уронить Windows шестью строчками кода

Время на прочтение3 мин
Количество просмотров267K
См. также: Microsoft исправила уязвимость с синим экраном

Однажды один знакомый рассказал мне про одну уязвимость в Windows. А именно из-за нее можно легко вызвать синий экран смерти шестью строчками кода на Си. Причем программа не требует никаких прав администратора и вызывает только одну функцию масштабирования окна.


Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность