Search
Write a publication
Pull to refresh
41
0
Евгений Никитенко @Jeka8

Программист

Send message

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

Reading time16 min
Views233K
Одна из новых возможностей 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 исправила уязвимость с синим экраном

Reading time1 min
Views39K
Два дня назад я написал статью Как уронить 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 шестью строчками кода

Reading time3 min
Views267K
См. также: Microsoft исправила уязвимость с синим экраном

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


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

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity