C++

BackEnd


Константин Владимиров
Руководитель отдела компиляторов и инструментов разработки @ Syntacore
Москва

1. Введение

1.1. Обзор архитектуры RISC-V

1.2. Обзор инфраструктуры LLVM

2. llvm-exegesis как инструмент бенчмаркинга

2.1. Работа в режиме JIT

2.2. Запуски для baremetal

3. Интересные решения в llvm-exegesis бэкенде для RISC-V

  • Категории: Разработка
  • Секции: C++
  • Сложность: Senior

  • Александр Петров
    Ведущий эксперт-разработчик @ SimbirSoft
    Санкт-Петербург

    1. C++ не является надмножеством языка C

    2. Почему "мифический" С/С++?

    3. Параллельное развитие языков.

    4. Ограничение стандартов в докладе С++20(ISO/IEC 14882:2020) и С17(ISO/IEC 9899:2018).

    5. Не каждая программа на С - это валидная программа на С++

    6. Не каждая программа на С++ - это валидная программа на С

    7. Код, валидный в обоих языках, но имеющий разное значение

    8. Молчание компиляторов

    9. Практики по написанию кода, в котором миксуются С и С++

  • Категории: Разработка
  • Секции: C++

  • Максим Кокряшкин
    Разработчик @ VK
    Москва

    Tarantool — это платформа для in-memory-вычислений, написанная на C/C++ и Lua. Миры Lua и С/C++ очень тесно связаны: у Tarantool есть модули на Lua, модули на Lua могут использовать модули, написанные на C/C++. В процессе исполнения и в Lua-коде, и в C/C+±коде могут возникать исключения, которые иногда необходимо обрабатывать в другом компоненте, может быть написанном на другом языке.

    Доклад рассказывает о том, как можно реализовать интероперабельность исключений между двумя языками на примере Lua и C. Разберемся в том, какие есть способы реализации механизма исключений на разных платформах, посмотрим на специфичные для них сложности, а также рассмотрим реализацию интероперабельности на примере LuaJIT, с помощью которого исполняется весь Lua-код в Tarantool.

  • Категории: Разработка
  • Секции: C++