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

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

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

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

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


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