Сообщения

Сообщения за ноябрь, 2018

Нюансы UWP (Windows Universal Platform)

Очередная заметка по платформе, с которой едва ли придется часто пересекаться, но пересекаться точно придется.

Структурные исключения Windows

Стал ближе знакомиться с компилятором MSVC и программированием для Windows и узнал о такой виндовой фиче как "Структурные исключения". Если вкратце, то вот: Структурные исключения (SEH) - Асинхронные исключения, использовались для изначально для языка Си, обрабатывают такие ситуации, как деление на ноль, обращение к недоступному учаcтку памяти. С флагом /EHa, структурные исключения начинают конвертиться в типизированные исключения и могут ловиться в обычных try-catch (в доках не рекомендуют это делать). Без флага, ловятся специальной конструкцией __try{}__except{}__finally{}. https://docs.microsoft.com/en-us/cpp/cpp/exception-handling-differences?view=vs-2017 https://docs.microsoft.com/en-us/cpp/build/reference/eh-exception-handling-model?view=vs-2017 Vector Exception Handling - это способ обработки SEH, вызываются функции обработчики одна за другой при срабатывании структурного исключения, перед разворачиванием стека. https://docs.microsoft.com/en-us/windows/deskto

Visual Studio unhandled exception stack trace

At work I've got the task to get a stacktrace to a thower of unhandled std exception. The first think I've tried was to print stacktrace from a terminate handler set with std::set_terminate. But I had no lack with this way because the stack is unwinded before std::terminate was called. The solution is to use windows API to get the result. Three steps to get the stacktrace:

Заметки о Gradle

Так как в сферу моих рабочих обязанностей и увлечений входит разработка нативных приложений под андроид, мне приходится взаимодействовать с Gradle. Решил написать несколько заметок для себя.

Полезности

Это просто список ссылок и полезных команд. Кроссплатформенная разработка требует использования разных инструментов и понимания принципов их работы. Однако, вспомнить, что тебе нужно для конкретной платформы у меня сходу не получается, потому я решил собрать редкоиспользуемые утилиты полезные лично для меня.

Заметки делетанта Objective C

В ходе разработки кроссплатформенного движка приходится сталкиваться с Objective C. Создание подобных заметок помогает разложить информацию по полочкам и освежает память.

Модули С++

Исследовал состояние модулей на 17.11.18. Пишу эту заметку прежде всего для закрепления понимания концепции и формирования мнения. Настоящий программист C++ ведь должен иметь мнение на любую тему 😀 Статья за модули -  https://build2.org/article/cxx-modules-misconceptions.xhtml Статья против модулей -  https://izzys.casa/posts/millennials-are-killing-the-modules-ts.html