Главная » Архив меток: c++17

Архив меток: c++17

0cx00007b или установка драйверов из-под программы

Вступление Знакомо ли вам исключение 0cx00007b? Доброго времени суток. В 90% случаев, это была проблема с отсутствием 64 битного драйвера OpenAL. С момента перевода движка X-Ray под x64 приходило очень много репортов о проблеме 0cx00007b. Идеи по решению проблемы Но подобные репорты не уходили, народ у нас в СНГ читать не особо любит, поэтому мы решили решить проблему радикально: устанавливать ...

Читать далее »

[Перевод] Современный C++ != (Самый)Новый Стандарт

Здесь «новый» может означать что угодно от C++11 до C++17, или даже то, что уже сейчас доступно из C++20. Термин «современный C++» часто используется как синоним выражения «код, использующий новый стандарт C++». Я думаю, что современный C++ — это нечто большее, не ограничивающееся добавлением флага -std=c++17. Что значит «современный»? Если поискать значение слова «современный» в сети, одним из первых мы ...

Читать далее »

[Из песочницы] The Kernel-Bridge Framework: мостик в Ring0

Хотели ли Вы когда-нибудь заглянуть под капот операционной системы, посмотреть на внутреннее устройство её механизмов, покрутить винтики и посмотреть на открывшиеся возможности? Возможно, даже хотели поработать напрямую с железом, но считали, что драйвера — rocketscience? Предлагаю вместе пройтись по мостику в ядро и посмотреть, насколько глубока кроличья нора. А также, набор юзермодных и ядерных API и обёрток для быстрой и ...

Читать далее »

Что будет с обработкой ошибок в С++2a

Программисты всех конфессий обсуждали будущее С++, травили байки и думали как сделать С++ проще. Пару недель назад прошла главная конференция в С++ мире — CPPCON.Пять дней подряд с 8 утра и до 10 вечера шли доклады. Устоявшиеся подходы не позволяют достичь максимальной производительности или могут порождать простыни кода.Какие же нововведения ожидают нас в С++2a? Удивительно много докладов были посвящены обработке ...

Читать далее »

RPC — повод попробовать новое в C++ 14 / 17

Несколько лет назад разработчики на C++ получили долгожданный стандарт C++ 11, принесший много нового. И у меня был интерес быстрее перейти к его использованию в повседневно решаемых задачах. Перейти к C++ 14 и 17 такого не было. Казалось, нет того набора фич, который бы заинтересовал. Весной я все же решил посмотреть на новшества языка и что-нибудь попробовать. Чтобы поэкспериментировать с ...

Читать далее »

Делаем Shrimp еще полезнее: добавляем перекодирование картинок в другие форматы

К своему большому удивлению мы время от времени получаем вопросы из категории «А для чего может потребоваться встраиваемый HTTP-сервер на C++?» К сожалению, на простые вопросы отвечать сложнее всего. С начала 2017-го года наша небольшая команда разрабатывает OpenSource-библиотеку RESTinio для встраивания HTTP-сервера в C++ приложения. Иногда лучшим ответом является пример кода. Демо-проект представляет из себя простой Web-сервис, который получает запросы ...

Читать далее »

Shrimp: масштабируем и раздаем по HTTP картинки на современном C++ посредством ImageMagic++, SObjectizer и RESTinio

Наша небольшая команда занимается развитием двух OpenSource инструментов для C++разработчиков — акторного фреймворка SObjectizer и встраиваемого HTTP-сервера RESTinio. При этом мы регулярно сталкиваемся с парой нетривиальных вопросов: какие фичи добавлять в библиотеку, а какие оставлять «за бортом»? как наглядно показывать «идеологически правильные» способы использования библиотеки? Хорошо, когда ответы на такие вопросы появляются по ходу использования наших разработок в реальных проектах, ...

Читать далее »

Релиз CLion 2018.1: новые возможности из С++17, поддержка WSL, CMake Install, плагин для Rust и многое другое

Привет, Хабр! Вот и подоспел первый релиз CLion в этом году — 2018.1! В этом посте мы расскажем, что мы успели реализовать за эти месяцы и какие планы у нас на следующий релиз. Cначала очень коротко о главном. В этот релиз вошли: Поддержка языка C++ Поддержка возможности C++17: structured binding Поддержка возможности C++17: операторы if и switch с инициализаторами Множество ...

Читать далее »

C++ велосипедостроение для профессионалов

Классы, которые люди самостоятельно пишут, а потом копируют из одного проекта в другой, хотя они уже есть в стандартных библиотеках, в простонародье называются велосипедами. Первый вопрос, который возникает при встрече с таким «велосипедом» — зачем люди переписывают что-то заново? Вариантов может быть несколько. Некоторые делают это для самообучения: берут класс стандартной библиотеки, пишут его сами с нуля, сравнивают то, что получилось, с тем, что есть в стандартной библиотеке — в процессе узнают для ...

Читать далее »

[Перевод] Рефакторинг с использованием C++17 std::optional

Вы можете реализовать опциональный тип с помощью нескольких вариантов, но с помощью C++17 вы сможете реализовать это с помощью наиболее удобного варианта: std::optional. В разработке существует множество ситуаций, когда вам надо выразить что-то с помощью "optional" — объекта, который может содержать какое-либо значение, а может и не содержать. Сегодня я приготовил для вас одну задачу по рефакторингу, на который вы ...

Читать далее »