abi

  • Хабрахабр

    [Перевод] День смерти стандартной библиотеки

    На днях в Праге комитет по стандартизации С++ провел ряд опросов по вопросу изменения ABI, и в конечном счете было решено ничего в нем не менять. Аплодисментов в зале слышно не было.Я думаю, мы не осознавали полностью те последствия, которое повлечет за собой данное решение, и я не верю, что оно в принципе может положительно сказаться на развитии языка. Что…

    Подробнее »
  • Хабрахабр

    C++20 утверждён! Чего ждать и к чему готовиться разработчикам в C++23

    На днях в Праге прошла встреча международного комитета по стандартизации C++. И-и-и-и… C++20 готов! Осталось поставить штампик от ISO, но это чисто формальный шаг, с которым не должно быть проблем. Поздравляю всех с этим замечательным событием! Concepts, Coroutines, Modules, Ranges, std::format, constexpr new и constexpr алгоритмы+vector+string, datetime, jthread, span, bit_cast и многие другие мелкие и большие нововведения. Что успели добавить…

    Подробнее »
  • Хабрахабр

    [Перевод] Бинарная совместимость: сейчас или никогда

    Перевод публикации Тита Винтерса в рабочей группе 21 (WG21) — комитета по стандартизации языка C++. Автор обсуждает важный вопрос: поддержку обратной бинарной совместимости или ABI (application binary interface).В течение последних лет в WG21 я активно пропагандировал то, что прогресс важнее обратной совместимости. Но я сам перестаю в это верить, особенно в отношении поддержания бинарной совместимости (ABI). В трех последних релизах…

    Подробнее »
  • Хабрахабр

    [Перевод] О [[trivial_abi]] в Clang-е

    Наконец-то я написал пост про [[trivial_abi]]! Это вендорское расширение языка C++, это не стандартный C++, она не поддерживается транком GCC, и нет активных предложений WG21 включить её в стандарт C++, насколько мне известно. Это новая фирменная фича в транке Clang-а, новая по состоянию на февраль 2018. Я просто просматривал патчи в списке рассылки cfe-commits и тихо аплодировал про себя. Я…

    Подробнее »
  • Хабрахабр

    [Перевод] Как размеры массивов C стали частью двоичного интерфейса библиотеки

    Большинство компиляторов C позволяют получить доступ к массиву extern с неопределёнными границами, например: extern int external_array[]; int array_get (long int index) { return external_array[index]; } Определение external_array может находиться в другой единице трансляции и выглядеть так: int external_array[3] = ; Вопрос в том, что произойдет, если это отдельное определение изменится так: int external_array[4] = { 1, 2, 3, 4 };…

    Подробнее »
  • Хабрахабр

    Особенности вызова функций в С++

    В результате возникла данная статья. Не так давно у меня произошёл очередной разговор с коллегой на извечную тему: "по ссылке, или по значению". Далее будут рассмотрены: В ней я хочу изложить результаты моего исследования по этой и смежным темам. Регистры и их назначение при вызове функций. Передача и возврат простых типов и структур. Как передача по ссылке и по значению…

    Подробнее »


Кнопка «Наверх»
Закрыть