The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступен набор компиляторов LLVM 18

07.03.2024 13:50

После шести месяцев разработки представлен релиз проекта LLVM 18.1.0 - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизаций). Сгенерированный псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

Начиная с ветки 18.x проект перешёл на новую схему формирования номеров версий. По аналогии с проектами GCC и GDB, нулевой выпуск ("N.0") теперь используется в процессе разработки, а первая стабильная версия снабжается номером "N.1". Изменение позволяет отделить сборки на основе находящейся в разработке ветки (mainline) от сборок ветки с финальными релизами. Например, при подготовке нынешнего выпуска разработка велась с использованием нестабильной ветки LLVM 18.0, а первый стабильный релиз вышел под номером 18.1.0. В дальнейшем при необходимости каждые две недели могут формироваться корректирующие выпуски под номерами 18.1.1, 18.1.2 и т.п. В случае внесения в текущую ветку изменений, нарушающих ABI, обновление будет сформировано с изменением второй цифры версии (т.е. 18.2.0).

Основные улучшения в Clang 18:

  • Изменения, связанные с языком Си:
    • Структуры, объединения и массивы с признаком "const" по аналогии с GCC теперь могут использоваться как константные выражения.
    • Перечисления (enum) теперь отражаются в метаданных TBAA (Type Based Alias Analysis) в своём исходном целочисленном типе, вместо обработки как типа "char".
    • Добавлена поддержка атрибута "counted_by", через который можно указать поле в структуре с гибким массивом, определяющим число элементов в гибком массиве. Атрибут может использоваться в clang для повышения эффективности проверок выхода за границу буфера.
  • Возможности, определённые в будущем Си-стандарте C23:
    • Добавлена поддержка флагов "-std=c23" и "-std=gnu23", а также значения "202311L" для макроса "__STDC_VERSION__", определяющих стандарт C23 и расширения GNU C23.
    • Добавлена поддержка выражения "requires c23" для привязки модулей к поддержке стандарта C23.
    • Реализована поддержка вывода типа при определении объектов, что позволяет использовать вместо типа признак "auto" для определения типа переменных на основе типа выражения для их инициализации. Например: "auto y = cos(x);".
    • Добавлена поддержка заголовочного файла <stdckdint.h> с макросами для проверки целочисленных вычислений.
    • Разрешено размещение меток в любых местах внутри составных выражений.
    • При компиляции в режиме C23 прекращена поддержка в коде триграфов, последовательностей из трёх ASCII-символов, обрабатываемых как один символ, например, последовательность "??=" можно было использовать вместо "#". После появления Unicode поддержка триграфов потеряла смысл.
  • Возможности, связанные со стандартом C++20: Реализована экспериментальная возможность использования в шаблонах дополнительных видов аргументов, не являющихся типами, например, разрешено указание значений с плавающей запятой, указателей и ссылок на субобъекты.
  • Возможности, связанные со стандартом C++23: Добавлена экспериментальная поддержка механизма "Deducing this", позволяющего использовать в шаблоне параметры с признаком "this" и дающего возможность из функции класса узнать категорию выражения (например, является ли константой), для которого эта функция вызвана.
  • Возможности, связанные с будущим стандартом C++2с (C++26):
    • Добавлена возможность использования сразу нескольких переменных-заполнителей с именем "_" в одной области видимости, например, теперь являются корректными конструкции:
      
          struct S {
            int _, _; 
          };
          void func() {
            int _, _;
          }
          void other() {
            int _; // ранее выводилось предупреждение в режиме -Wunused
          }
      
    • Предоставлена возможность использования строковых литералов в контексте, в котором они не используются для инициализации массива символов и не попадают в результирующий код, а применяются только во время компиляции для диагностических сообщений и препроцессинга, например, в качестве параметров директив и атрибутов _Pragma, asm, extern, static_assert, [[deprecated]] и [[nodiscard]].
    • Переведено в разряд устаревших выполнение неявных преобразований перечисляемых значений в арифметических вычислениях.
      
         int main() {
            enum E1 { e };
            enum E2 { f };
            bool b = e <= 3.7; // устарело
            int k = f - e; // устарело
            int x = +f - e; // OK
         }
      
    • Реализована спецификация, определяющая возможности, связанные с инициализацией параметров шаблонов.
  • Добавлена встроенная функция "__builtin_vectorelements()" для определения числа элементов в векторе.
  • Добавлено ключевое слово "__datasizeof", которое отличается от "sizeof" тем, что возвращает размер типа без учёта хвостового заполнения.
  • Добавлены новые флаги компилятора:
    • "-fverify-intermediate-code" для верификации сгенерированного LLVM IR;
    • "-fkeep-system-includes" для изменения поведения опции "-E";
    • "-fassume-nothrow-exception-dtor" для сокращения размера обработчиков исключений за счёт упрощения логики обработки деструкторов;
    • "-fopenacc" для поддержки OpenACC в Clang;
    • "-fcx-limited-range" и "-fcx-fortran-rules" для задействования простых формул умножения и деления комплексных чисел, не проверяющих результат на значение NaN и использующих алгоритм Смитта;
    • "-fvisibility-global-new-delete=<force-hidden|force-protected| force-default|source>" для управления как и когда обеспечивать видимость заменяемых объявлений new и delete;
    • "-fdefine-target-os-macros" для управления предоставлением определений для списка макросов TARGET_OS_*.
  • Добавлены новые атрибуты: "[[clang::preferred_type(type-name)]]", "[[clang::coro_only_destroy_when_complete]]", "[[clang::coro_return_type]]", "[[clang::coro_wrapper]]", "[[clang::code_align(N)]]" и "[[clang::coro_lifetimebound]]".
  • Значительно расширены средства диагностики и статического анализа, добавлены новые проверки.



Основные новшества LLVM 18.0:

  • В бэкенд для архитектуры X86 добавлена поддержка расширений архитектуры набора команд (ISA): USER_MSR, AVX10.1-256 и AVX10.1-512. Тип i128 унифицирован с типом __int128 из GCC и clang, что позволило усилить бинарную совместимость с внешними проектами, такими как Rust.
  • В бэкенде для архитектуры RISC-V стабилизирована поддержка расширений Zicond, Zfa, Zihintntl, Zvbb, Zvbc, Zvkb, Zvkg, Zvkn, Zvknc, Zvkned, Zvkng, Zvknha, Zvknhb, Zvks, Zvksc, Zvksed, Zvksg, Zvksh и Zvkt. Добавлены встроенные функции для расширений Zk*, Zbb и Zbc. Добавлена экспериментальная поддержка генерации кода для архитектур RV32E, RV64E, ilp32e и lp64e. Реализована поддержка расширений Ziccif, Ziccrse, Ziccamoa, Zicclsm, Za64rs, Za128rs, Zic64b и Smepmp.
  • В бэкенд для архитектуры LoongArch добавлены встроенные функций (Intrinsics) для расширений LSX (128-bits SIMD) и LASX (256-bits SIMD). Добавлена поддержка новых инструкций, появившихся в спецификации LoongArch Reference Manual 1.10. Добавлена начальная поддержка автоматической векторизации. Улучшена генерация кода.
  • В бэкенд для архитектуры AArch64 добавлена поддержка процессоров Cortex-A520, Cortex-A720 и Cortex-X4. Реализована поддержка ассемблера и дизассемблера для расширений архитектуры, предложенных в 2023 году. Добавлена поддержка механизма защиты Stack Clash Protection, позволяющего выявлять факты переполнения стека и блокировать методы атак на основе пересечения стека и кучи.
  • В бэкенд для архитектуры ARM добавлена поддержка процессора Cortex-M52 и обеспечена возможность работы в режиме только исполнения (execute-only) для архитектуры Armv6-M.
  • Улучшены бэкенды для архитектур WebAssembly, MIPS, PowerPC, AMDGPU.
  • Расширены возможности компоновщика LLD. Добавлена поддержка объектов FatLTO. Улучшена поддержка архитектур RISC-V и AArch64.
  • В библиотеке Libc++ продолжена реализация возможностей стандартов C++20, C++23 и C++26.
  • В отладчике LLDB добавлена поддержка автоматического извлечения символов и бинарных данных с внешних серверов, поддерживающих протокол DEBUGINFOD. Расширена поддержка архитектуры AArch64 и добавлена возможность отладки расширений SME и SME2 (Scalable Matrix Extension).
  • Удалены обвязки для языка Python.


 
  1. Главная ссылка к новости (https://discourse.llvm.org/t/l...)
  2. OpenNews: Доступен набор компиляторов LLVM 17.0
  3. OpenNews: Релиз набора компиляторов GCC 13
  4. OpenNews: Создатель LLVM развивает новый язык программирования Mojo
  5. OpenNews: Выпуск компоновщика Mold 2.0, развиваемого разработчиком LLVM lld
  6. OpenNews: Проект Minotaur развивает оптимизатор векторных инструкций для LLVM
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60744-llvm
Ключевые слова: llvm, clang, compile
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (127) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (3), 13:57, 07/03/2024 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    А давно вообще этот линкер не может собирать программы без флага --undefined-version? Насколько разумно собирать вообще все с ним?
     
  • 1.4, Аноним (4), 14:07, 07/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –1 +/
    Теперь мы пишем import std вместо #include <...>
    Работаем, братья!
     
     
  • 2.5, Аноним (5), 14:14, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • –6 +/
    Просите чтоб в следующем стандарте добавили новый вид квадратных скобкок со скруглёнными углами. Скобочек слишком мало!
     
     
  • 3.8, Аноним (4), 14:37, 07/03/2024 Скрыто ботом-модератором     [к модератору]
  • +7 +/
     
     
  • 4.22, Аноним (5), 16:04, 07/03/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.33, n00by (ok), 16:30, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Их как раз убрали. Вот так квадратные скобочки со скруглёнными углами выглядели:

    ??(
    ??)

     
     
  • 4.75, Аноним (75), 22:56, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    в c99 зато есть <% %>, как в asp

    в c++ вроде совсем выпилили, да

     

  • 1.6, m228chtig (?), 14:24, 07/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –1 +/
    Посоветуйте железку с архитектурой LoongArch, хочется поиграться, потыкать палочкой. Где купить в РФ?
     
     
  • 2.21, Аноним (3), 15:58, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –7 +/
    Спроси у альтовцев, я так понимаю, скоро на всех прилавках страны. Только это же мипсы 20 летней давности и по производительности тоже тех лет. Когда я в прошлый раз интересовался, им нечего было предложить производительного, твой телефон с армом мощнее их мипсовых серверов.
     
     
  • 3.25, Аноним (25), 16:22, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Судя по документации, LoongArch - это уже не MIPS, а новая ISA, которая появилась впервые в процессорах Loongson 2021 года.
    Это раньше Loongson были MIPS.
     
  • 3.128, Алексей (??), 13:32, 11/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Только это же мипсы 20 летней давности

    Нет, это другая архитектура

    > и по производительности тоже тех лет.

    Нет.

    > твой телефон с армом мощнее их мипсовых серверов.

    Нет.

     
     
  • 4.130, Аноним (3), 14:28, 11/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Нет, это другая архитектура

    Насколько другая? Более другая, чем riscv прямой наследник mips? Что-то у меня ощущение, что riscv ушёл не в пример дальше.

    > Нет.

    Хорошо, если так. Я могу судить только по восторженным пресс-релизам на китайском языке¸ которые мне попадались, и что-то они не впечатляли.

    > Нет.

    Смотря как оценивать. По энергопотреблению/тепловыделению определённо нет.

     
     
  • 5.131, Алексей (??), 15:57, 11/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Что-то у меня ощущение, что riscv ушёл не в пример дальше.

    Какой из них (100500 расширений уже стандартизировали?) SIMD уже завезли?

    А так-то -- сравнение тёплого с мягким. riscv - это прежде всего про микроконтроллеры, а потому важны 1) свобода от патентов, 2) расширяемость, 3) энергопотребление.

    LoongArch -- это для серверов, рабочих станций, ноутов. Потому нужно единообразие, а не расширяемость (поддерживать вагон расширений -- дорогое удовольствие). Потому SIMD есть, и они вот такие, есть виртуализация, и она вот такая, есть аппаратные подпорки для двоичной трансляции их x86, arm, и mips.

    > По энергопотреблению/тепловыделению определённо нет.

    А Вы хотели, чтобы двухголовый 32-ядерный сервер потреблял как телефон? Бойтесь своих желаний, будет у Вас такой телефон.

     
     
  • 6.132, Алексей (??), 16:43, 11/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > > Что-то у меня ощущение, что riscv ушёл не в пример дальше.
    > Какой из них (100500 расширений уже стандартизировали?) SIMD уже завезли?

    Вот здесь товарищ излагает более подробно:

    https://blog.xen0n.name/en/posts/tinkering/loongarch-faq/#whats-the-relationsh

     
  • 2.29, _kp (ok), 16:26, 07/03/2024 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +2 +/
    В РФ нигде не купить. А на Ali продаются.
    Есть как комплекты в виде десктопных материнок, так и мелкие платки типа Raspberry.

    Пока они на каждом углу не продаются, какого то интереса не представляют. Тот же Linux на ARM вполне достаточно  проблем добавляет, а будет и вовсе экзотическая архитектура и версия Линукса. Но, для коллекционеров, и любителей диковин, для  поиграться можно.

     
     
  • 3.139, Алексей (??), 14:40, 12/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > Пока они на каждом углу не продаются, какого то интереса не представляют.

    А когда появились на каждом углу, то заказы (вакансии) уже ушли не к Вам  .

     
  • 2.44, Аноним (44), 17:12, 07/03/2024 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +2 +/
    А что за интерес в этой игре? Процессор не на принципиально новой архитектуре, да и кодить на асме вы под него не будете. А на высоком уровне всё едино. Если в составе готовой системы, то опять же всё стандартно — PCI-E, USB, SATA и прочая периферия. Прошли те времена, когда на разных архитектурах были совершенно разные компьютеры (как Amiga и PC, например).
     
     
  • 3.140, Алексей (??), 20:18, 12/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Процессор не на принципиально новой архитектуре, да и кодить на асме вы под него не будете.

    Можно позапускать что-нибудь сильно многопоточное (а может даже и lock-free) ВЖИВУЮ на процессоре со слабой моделью памяти (а не на этих ваших litmus tests, или микроконтроллерах, у которых нет спекулятивного исполнения). После чего призадуматься и ещё раз перечитать какую-нибудь умную книжку на тему. "A primar on memory consistency and cache coherence", например.

     
  • 2.127, Алексей (??), 13:27, 11/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    На Али полно, ищите по Loongson 3A6000 (или Loongson 3A5000 - но эти возможно придётся перепрошивать).

    Примеры:
    Системник на 3A6000: https://aliexpress.ru/item/1005006181125200.html?sku_id=12000036232640902
    Можно купить только плату: https://aliexpress.ru/item/1005006181022567.html?sku_id=12000036164202323

    Можно взять на 3A5000 - дешевле будет, но возможно (возможно!) придётся перепрошить UEFI.
    Плата: https://aliexpress.ru/item/1005004752995570.html?sku_id=12000030342383263
    Системник: https://aliexpress.ru/item/1005004160595574.html?sku_id=12000028234929575

     
  • 2.147, Сербурмалиновый (?), 00:31, 18/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В октябре 2023 мелькали ноты и рабочие станции ... большой текст свёрнут, показать
     

  • 1.7, Аноним (-), 14:27, 07/03/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –5 +/
     

  • 1.11, Аноним (11), 14:53, 07/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    Зато ГЦЦ Модулу-2 поддерживает!
     
     
  • 2.15, Аноним (15), 14:59, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • –2 +/
    ну вот, если нужен модула-2 компилятор - можно поставить gcc, а для всего остального llvm
     
  • 2.16, Аноним (-), 15:02, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    > Зато ГЦЦ Модулу-2 поддерживает!

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

    Ты, кстати, забыл что ллвм еще не поддерживает кучку некроплатформ.

     
     
  • 3.19, Аноним (11), 15:18, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > Это же очень важный и популярный язык программирования!

    Уж всяко лучше двух известных языков, из-за которых местные анонимусы сломали все копья и прожгли все диваны. Просто работает.

     
     
  • 4.46, Аноним (44), 17:14, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Бейсик тоже просто работает (и это не ирония).
     
  • 3.123, Бывалый Смузихлёб (ok), 13:14, 10/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > Ты, кстати, забыл что ллвм еще не поддерживает кучку некроплатформ.

    ну это скорее минус чем плюс
    какая ллвм'у, по сути, вообще разница, во что в конечном итоге превращается промежуточный код ?
    А так - получается и не рыбку съесть - и не...

     
  • 2.26, Вы забыли заполнить поле Name (?), 16:24, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Не только ее!
     

  • 1.18, name (??), 15:08, 07/03/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +3 +/
     

  • 1.23, Вы забыли заполнить поле Name (?), 16:11, 07/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    > Удалены обвязки для языка Python

    Зачем?

     
     
  • 2.31, Аноним (31), 16:27, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    https://raw.githubusercontent.com/llvm/llvm-project/main/clang/bindings/python

    Для Clang вроде на месте. Это надо быть поехавшим, чтобы их удалять — на них столько всего завязано.

     

  • 1.24, Аноним (31), 16:17, 07/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    >int x = +f - e; // OK

    Спасибо, не знал что можно обойтись без static_cast<>.

     
     
  • 2.27, Вы забыли заполнить поле Name (?), 16:25, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Зря вы ему сказали... ой зря
     
     
  • 3.99, НяшМяш (ok), 21:56, 08/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Теперь будет писать как на жаваскрипте
     
     
  • 4.124, Бывалый Смузихлёб (ok), 13:21, 10/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    не будут, ведь это фиг разберёшь и в жс-конторах за подобное могут и бить или заставлять переписывать в более явное. Там... не очень любят олимпиадников

    но сишников уже столь немного, что проверить их зачастую уже и некому - вот и могут валить в исходники что хотят. Поэтому, да, можно писать как на жс, только на жс так не пишут
     

  • 1.28, n00by (ok), 16:26, 07/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +2 +/
    Самое нужное нововведение C23 так и не добавили.

    6.10.4 Binary resource inclusion
    ...
    EXAMPLE 1 Placing a small image resource.



    #include <stddef.h>

    void have_you_any_wool(const unsigned char*, size_t);

    int main (int, char*[]) {
          static const unsigned char baa_baa[] = {
    #embed "black_sheep.ico"
          };

          have_you_any_wool(baa_baa, sizeof(baa_baa));

          return 0;
    }



     
     
  • 2.34, Аноним (34), 16:32, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    Оно и не нужно. Это должно быть отдельным файлом. Лучше бы https://github.com/vimpunk/mio стандартизировали.
     
     
  • 3.37, n00by (ok), 16:40, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Кому оно должно и зачем путать Си и Си++?
     
     
  • 4.42, Аноним (42), 17:07, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –7 +/
    1. Отображение файлов в память с удобным в работе кроссплатформенны  интерфейсом, встроенным в стандартную библиотеку? Всем нужно.
    2. Си устарел и не нужен. Для адекватных людей чистого си в их проектах не существует. К сожалению иногда приходится иметь дело с неадекватными, вроде некоторых разработчиков Дебиана (кстати, подписантов антистоллмановского письма).
     
     
  • 5.52, n00by (ok), 17:30, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    Мне не нужно вот такое отображение в стандарте - оно полурабочее и скатывает Linux до некоего среднего арифметического (в #40 указал, почему).
     
  • 5.71, An (??), 20:48, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Как устарел?
    В BSD/Linux в ядрах и базе он основной, и подавляющее большинство PR в сорцы этих систем до сих пор на нем летит.
    Много хорошего прикладного софта на нем до сих пор пишется.
    Разве так устаревают?
     
     
  • 6.95, Аноним (95), 18:38, 08/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Так адекватность теряют.
     
  • 6.102, Аноним (44), 07:31, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Линуксу сколько лет, напомнить? Да и можно подумать, у Торвальдса с его 386 особый выбор был.
     
  • 4.48, Аноним (48), 17:19, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    >Кому оно должно

    Поддерживать порочные практики с вкомпиленными в бинарник ресурсами — не должно. Храните файлы на диске и отображайте в память.

     
     
  • 5.51, n00by (ok), 17:29, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Порочная практика - это писать "должно", не понимая смысл слова. Покажите договор или стандарт.
     
     
  • 6.60, Аноним (60), 19:02, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    1. https://refspecs.linuxfoundation.org/fhs.shtml
    2. https://specifications.freedesktop.org/
     
     
  • 7.103, n00by (ok), 08:24, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > 1. https://refspecs.linuxfoundation.org/fhs.shtml

    Это вообще каким боком?

    > 2. https://specifications.freedesktop.org/

    И с какой стати вот это должно распространяться на всё? В исходном сообщении процитирован стандарт языка.

     
     
  • 8.137, Аноним (137), 13:32, 12/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    1 Таким И иконки хранятся строко в виде файлов по определённым путям 2 А с к... текст свёрнут, показать
     
     
  • 9.141, n00by (ok), 20:19, 12/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    1 Не надо зацикиваться на иконках 2 Не надо параноить, когда по существу отве... текст свёрнут, показать
     
  • 5.62, Аноним (62), 19:15, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +2 +/
    Опять в интернете вижу новости из параллельных вселенных. У вас там микроконтроллеры не существуют? Или они все идут с дисками и поддержкой проекции в память, или для них не изобрели дисплейчики куда можно текст и картинки выводить?
     
     
  • 6.64, Аноним (64), 19:26, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • –2 +/
    А какие проблемы с контроллерами, кроме мизерной памяти? Интерфейс от этого не зависит, а фс можно использовать специализированную. в виде идельной хэш-таблицы с хэшированием в compile-time, храня все "файлы" в ПЗУ. А если не можешь использовать интерфейс отображения страниц памяти - просто не подключай этот хедер в свою программу.
     
     
  • 7.104, n00by (ok), 08:30, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > А какие проблемы с контроллерами, кроме мизерной памяти?

    Вместо #embed приходится самостоятельно конвертировать в пригодный для #include вид, но не каждый умеет написать для того скрипт на Perl, потому принимается выдумывать на тему файлов.

     
  • 7.108, Аноним (-), 09:45, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > А какие проблемы с контроллерами, кроме мизерной памяти? Интерфейс от этого не
    > зависит, а фс можно использовать специализированную. в виде идельной хэш-таблицы с
    > хэшированием в compile-time, храня все "файлы" в ПЗУ.

    Вот сейчас притащим специально для этого код парсинга всего этого счастья, попутно поставив МК пожирнее - ибо код и фс надо куда-то складывать. А потом заморочимся кодингом утилс генерации этой хрени и проч.

    И вот это все - вместо 1 строчки в сорце?! Серьезно?

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

    Прекрасно - и тогда бинарный ресурс в фирмвару мы инклюдим, например, как?! И еще, у МК как правило нет MMU и страниц.

     
     
  • 8.117, Аноним (117), 16:38, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ну тебе же не западло целый ico-файл со всеми хедерами втащить Если у вас хилый... большой текст свёрнут, показать
     
     
  • 9.121, An (??), 12:49, 10/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Сделать извращенными через одно место, чтобы удовлетворить запрос одного анонима... текст свёрнут, показать
     
     
  • 10.136, Аноним (137), 13:21, 12/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Возможность делать такие вещи одной строчкой обернётся тем, что через неё начнут... текст свёрнут, показать
     
  • 9.129, Аноним (-), 13:52, 11/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Классические ico файлы и их хидеры - весьма мелкие, и довольно просты в парсинге... большой текст свёрнут, показать
     
     
  • 10.135, Аноним (135), 13:04, 12/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Для вывода файла тебе его придётся предобработать и прокешировать предобработанн... большой текст свёрнут, показать
     
  • 3.40, n00by (ok), 16:50, 07/03/2024 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    https://github.com/vimpunk/mio

    А это правильно, что не добавили.

    Вот это зачем?



    inline size_t page_size()
    {
        static const size_t page_size = []
        {
    #ifdef _WIN32
            SYSTEM_INFO SystemInfo;
            GetSystemInfo(&SystemInfo);
            return SystemInfo.dwAllocationGranularity;
    #else
            return sysconf(_SC_PAGE_SIZE);
    #endif
        }();
        return page_size;
    }



    И где там mremap, в котором вся прелесть?
    Если хотите мапить файлы стандартным образом - ну дык допилите работу с файлами в стандартной библиотеке, там же возможна буферизация, а детали реализации не оговариваются.

     
     
  • 4.45, Аноним (45), 17:13, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Смысл не в том, чтобы втащить mio в стандартную библиотеку целиком как есть — разумеется все проблемы существующей реализации должны быть устранены (мне вообще крайне не нравится, что возвращаемые типы не наследуются у std::span<нужный тип>, и поэтому мне приходится это делать самому, и уже работать с std::span). И ремаппинг безусловно должен быть, как и отображение-выделение страниц без файлов, отображение анонимных страниц, и страниц, общих для нескольких процессов — мне из-за этого пришлось свой велосипед написать. Смысл в том, что отображение файлов в память нужно всем, но почему-то его нет в стандартной библиотеке, и приходится возится с васянозависимостями.
     
     
  • 5.47, Аноним (45), 17:14, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    *возиться
     
  • 5.53, n00by (ok), 17:36, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    А проблемы не будут устранены, потому что механизмы ОС различаются. Вон в Cygwin сделали ремаппинг стандартным образом - через memcpy, можете использовать. ;)
     
     
  • 6.61, Аноним (60), 19:06, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Не так уж сильно и различаются:
    * выделение пустых страниц
    * задание им флагов доступа
    * их освобождение
    * отображение файла в память

    есть везде! А для отличающихся нюансов — ну так никто и не запрещал юзать системное API на std::begin(allocatedPageSpan).

     
     
  • 7.105, n00by (ok), 08:33, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Я понимаю, что тут каждый Аноним умнее создателей Cygwin, даже если никогда не работал с секциями в NT и потому пропустил в плане "зарезервировать страницы". Но это в теории. На практике внутри mramap() почему-то до сих пор memcpy().
     
  • 3.74, _kp (ok), 22:22, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Тут пример просто в котором полезность фичи не раскрывается, а только показан способ как можно.
    Как минимум в embedded это весьма полезно.
     
  • 3.91, Аноним (-), 16:58, 08/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Оно и не нужно. Это должно быть отдельным файлом.

    А таки в gcc уже завезли, и это удобно.

     
  • 2.70, Sw00p aka Jerom (?), 20:15, 07/03/2024 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +/
    а эндиан на кого свалили? потом захотят параметры старт и оффсет.
     
     
  • 3.106, n00by (ok), 08:41, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > а эндиан на кого свалили?

    На неумеющих читать исходник.

     
  • 2.111, Аноним (-), 10:11, 09/03/2024 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • –1 +/
    >Самое нужное нововведение C23 так и не добавили.

    Кому нужно? Лично тебе или Сообществу? Со своими хотелками идёшь лесом.

    Си плюс-плюсник n00by знай своё место.

     
     
  • 3.114, Аноним (44), 12:19, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    А ты тут от имени «Сообщества»?
     
  • 3.115, n00by (ok), 14:26, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Комитету по стандартизации нужно. Ты не понял, что выше процитирован рабочий черновик стандарта?
     
     
  • 4.118, Аноним (-), 17:12, 09/03/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.125, Бывалый Смузихлёб (ok), 13:22, 10/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    в жс давно есть( в отдельных течениях ), а тут ещё не работает. Доколе ?
     

  • 1.30, Вы забыли заполнить поле Name (?), 16:27, 07/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    Раньше хрому тоже радовались и как вам теперь живётся? Тут также будет, только конкуренция остановит проприетарное рабство
     
     
  • 2.35, Аноним (-), 16:35, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +7 +/
    Конкуренции не было как раз без ллвм.
    GCC был убог и тормознут по сравнению с проприетарными компиляторами. Была только стагнация и загнивание.
    И тут появился он - clang/llvm! И gccшникам пришлось шевелиться.

    А исчезнет ллвм, и что дальше? Опять стагнация?

     
     
  • 3.98, Вы забыли заполнить поле Name (?), 21:39, 08/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • –2 +/
    > Конкуренции не было как раз без ллвм.
    > GCC был убог и тормознут по сравнению с проприетарными компиляторами. Была только
    > стагнация и загнивание.
    > И тут появился он - clang/llvm! И gccшникам пришлось шевелиться.
    > А исчезнет ллвм, и что дальше? Опять стагнация?

    Ну вот такая же история была с хромом. И что теперь?

     
     
  • 4.133, Аноним (-), 17:42, 11/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Ну вот такая же история была с хромом. И что теперь?

    Ну вначале придется тащить два компилятора, чтобы нормально собирать то, что гцц не поддерживает.
    Потом задумаются, а зачем нам два, если один тоже ок собирает.
    Вот и загнется ваш гыцыцы. Сильно жалеть не будем.

     
     
  • 5.134, Вы забыли заполнить поле Name (?), 04:33, 12/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >> Ну вот такая же история была с хромом. И что теперь?
    > Ну вначале придется тащить два компилятора, чтобы нормально собирать то, что гцц
    > не поддерживает.
    > Потом задумаются, а зачем нам два, если один тоже ок собирает.
    > Вот и загнется ваш гыцыцы. Сильно жалеть не будем.

    Ты сообщение выше читал? Похоже, что нет. Когда хром только появлялся все говорили "вот, а зачем другие браузеры, есть же хром, он такой быстрый и т.п.". Что сейчас? Что хотят, то и тащат в свой бразуер, а тебе остается кушать.

     
  • 2.36, Аноним (36), 16:39, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +2 +/
    Извини, LLVM — это как раз аналог Firefox. В Хроме и GCC всё гвоздями прибито, а в LLVM и Firefox — многое настраивается без перекомпиляции.
     
  • 2.68, Аноним (68), 19:47, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Кто радовался хрому? ФФ тогда ещё был в адеквате, а хром пихал уже совсем не "do no evil" Гугл.
     

  • 1.32, mumu (ok), 16:27, 07/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –5 +/
    > auto y = cos(x);

    Воу. То есть в каких-то случаях это будет Int, а в каких-то double и заранее вообще не угадать? А может не надо, а?

     
     
  • 2.41, n00by (ok), 17:00, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Это уже стандарт (его пока не приняли, но из рабочего черновика вряд ли выкинут). Если не надо, то собирайте с -std=c18 и в коде проверяйте __STDC_VERSION__
     
  • 2.43, Ivan_83 (ok), 17:10, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Перетоксикоз синтаксическим сахаром :)
     
     
  • 3.54, n00by (ok), 17:42, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    Зато signed обязали быть в дополнительном коде. Убрали главное UB, которым пугали детей фанаты безопасного языка.
     
     
  • 4.109, Аноним (-), 09:52, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Зато signed обязали быть в дополнительном коде. Убрали главное UB, которым пугали
    > детей фанаты безопасного языка.

    А все равно не весь UB убрали, блин. Комитет бакланов!

     
     
  • 5.143, adolfus (ok), 18:28, 15/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Чтобы убрать UB нужно овердохрена проверок разных на основе семантики делать, и генерировать definite B. А тут у каждого в комитете свое мнение, что должно генерироваться. Поэтому решено, что программисту проще выучить все случаи UB, отмеченные в стандарте, ну или вывести их на листики и развесить перед собой. Через годик-другой все и выучит. Вы же, когда идете по незнакомой заваленной мусором территории, сначала всегда под ноги смотрите, а после сотого прохода запросто идете и при этом зависаете в смартфоне.
    Тем  более, что с++ компилятор стал уже настолько тормозной, что сил нет. Из за этого приходится все модули, что можно кодить на си, кодить на си.
     
     
  • 6.146, n00by (ok), 22:31, 15/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Что бы убрать UB (что означает "неопределённое поведение"), достаточно написать в стандарте "должно быть вот так". signed обязали хранить в дополнительном коде, а раньше допускались другие варианты, потому и не было гарантий.
     
  • 2.58, Аноним (58), 18:11, 07/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > заранее вообще не угадать?

    cos(x) по идее возвращает значение конкретного типа. Даже в C++ с его перегрузками тип возвращаемого значения всегда один

     
  • 2.119, Аноним (119), 23:03, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Это уже есть с с11, раньше только не было auto
     
  • 2.126, Бывалый Смузихлёб (ok), 13:27, 10/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    это пока не впилили в шарпы и прочее - "типизация и бла-бла-бла, спасает от горы ошибок, илита-классы-наследование, то ли дело ваш жс"
    А как впилили тип_хз_какой_тип_слющьий_там_видно_будет - так иные ярые адепты ажно соплями и слюнями изошлись в положительном смысле, мол сколько ранее неизведанных возможностей открывается
    Причём, вроде бы, подобное было и в джаве/котлине. И это было ещё несколько лет назад.
     
     
  • 3.138, поворот (?), 13:43, 12/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    хороший ник
    утиность -- это не про вывод, ты о чем вообще?
     

  • 1.38, Аноним (38), 16:41, 07/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Концепты так и не завезли.
     
     
  • 2.39, Аноним (-), 16:45, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Не волнуйся, думаю завезут.
    Может это на новый год)
     

  • 1.50, Аноним (50), 17:28, 07/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Объясните мне пожалуйста, там какая-то библиотека реализует Джит? Или мне нужна виртуальная машина для программ, собранных шлангом?
     
     
  • 2.57, Аноним (55), 18:01, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Какой ещё джит?! Ты вывалился из машины времени со своей Жабой?
     
  • 2.63, Аноним (60), 19:19, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    https://github.com/asmjit/asmjit - arm, x86, но толстоватая
    https://github.com/herumi/xbyak - x86
    https://github.com/fujitsu/xbyak_aarch64 - arm64
    https://github.com/gamozolabs/rv32i_jit - risc-v
    можно заюзать LLVM, но он вообще монструозный, и его придётся к себе в систему затащить (но он и так затащен на десктопы, но вот в докеры, пайплайны и на Androidы его тащить ....)
     

  • 1.65, Bottle (?), 19:35, 07/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    А модули для C++ всё ещё не реализованы, а они могли бы ускорить компиляцию проектов (в том числе самого LLVM) значительно.
     
     
  • 2.72, clang 19 (?), 20:51, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Здравствуйте! А у нас они есть!
     
     
  • 3.76, an2 (?), 23:17, 07/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Есть и из-коробки работают - это разные вещи. Нужно, чтобы установил пакет, и там уже лежат бинарные модули.
     
     
  • 4.107, n00by (ok), 08:52, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Зачем это нужно? И для какой такой деятельности не хватает инкрементальной линковки?
     
     
  • 5.110, Аноним (-), 10:08, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Модули нужны Паскалисту перешедшему на Си плюс-плюс. Ну, человек переходит на Си плюс-плюс, а мышление Паскалевское остаётся.
     
     
  • 6.113, Аноним (44), 12:18, 09/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +4 +/
    Ну привык человек к хорошему, что поделать.
     
     
  • 7.116, n00by (ok), 14:54, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Так а что в них хорошего? Я пока вижу "ускорить компиляцию проектов" -- наверное, хорошо для тех, кто только и делает, что компилирует и не знает, чем компиляция отличается от линковки (например, сборщики пакетов). Хорошо для тех, кто пишет код методом тыка с перманентной перекомпиляцией.
     
  • 6.144, adolfus (ok), 18:47, 15/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Модули нужны, чтобы не тащить ненужные символы из заголовков в таблицы компилятора, а то и в объектные файлы. Это реально ускоряет работу и компилятора и компоновщика и, собственно, программы. Не зря же заголовки набиты #ifdef'ами -- все, не относящееся к делу, существенно замедляет работу компилятора, поскольку все символы нужно заносить в словарь символов.
     
     
  • 7.145, n00by (ok), 22:27, 15/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Модули нужны, чтобы не тащить ненужные символы из заголовков в таблицы компилятора,
    > а то и в объектные файлы. Это реально ускоряет работу и
    > компилятора и компоновщика и, собственно, программы.

    Программ? Каким образом? И чем это лучше исключения ненужного кода/данных при LTO?

    > Не зря же заголовки набиты
    > #ifdef'ами -- все, не относящееся к делу, существенно замедляет работу компилятора,
    > поскольку все символы нужно заносить в словарь символов.

    В заголовках директивы препроцессора обычно используют для выбора варианта кода под какую-то из нескольких архитектур/платформ, таким образом после препроцессора получается в объёме примерно одинаково. Компилятор вообще не видит токены препроцессора. Да и перевод исходника в абстрактное дерево существенно быстрее, чем оптимизация. Достаточно сравнить время трансляции с -O0 и -O2.

     

  • 1.78, Аноним (78), 05:32, 08/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –3 +/
    Судя по чейнджлогу, нынче Си тупо тырят у Раста. Ну и зачем? Может проще на Расте?
    Печь там, вы знаете что делать.
     
     
  • 2.79, m228chtig (?), 07:00, 08/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Мне не нравится, что Раст использует LLVM.
     
     
  • 3.81, Аноним (-), 07:45, 08/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Мне тоже в этом Мире что-то не нравится. Но вот реальность такова, что разработчики Раста, пермиссивщики на обеспечении проприетарщиков, они убеждённые противники копилефта, они против Столлмана. На улице они об этом не кричат, на заборе они об этом не пишут, но мы то знаем.

    Как бэкэнды, LLVM- пермиссивка, GCC - копилефт.

     
  • 3.86, Аноним (86), 14:40, 08/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Можешь не использовать, никаких проблем. Цитирую разрабов: "Since the Rust compiler is written in Rust, it must be built by a precompiled "snapshot" version of itself (made in an earlier stage of development). As such, source builds require an Internet connection to fetch snapshots, and an OS that can execute the available snapshot binaries."
     
     
  • 4.87, Аноним (87), 15:28, 08/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Бутстраппинг, требующий интернет-соединения - новое слово в разработке языков программирования! Впрочем, ничего другого от растоманов ожидать не приходится.
     
     
  • 5.96, Аноним (96), 19:01, 08/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ты умеешь качать сорцы без инета, телепатически или иным путём? Там же ясно и понятно написано: "source builds require an Internet connection to fetch snapshots".
     
  • 5.101, Аноним (96), 00:26, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Берём методичку по gcc, читаем:
    git clone git://gcc.gnu.org/git/gcc.git
    cd gcc
    git checkout releases/gcc-какая там версия нужна. Как ты думаешь, мне понадобится инет-подключение для этих процедур или без него можно прекрасно обойтись, файло само на винте появится?
     
  • 3.92, Аноним (-), 17:00, 08/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > Мне не нравится, что Раст использует LLVM.

    Не совсем так. Например, gccrs - не использует.

     
  • 2.80, Аноним (-), 07:41, 08/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +8 +/
    >Судя по чейнджлогу, нынче Си тупо тырят у Раста.

    Ложь перед вбросом.

    >Ну и зачем? Может проще на Расте?

    Сам вброс.

     
  • 2.88, Аноним (87), 15:34, 08/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >Си тупо тырят у Раста

    А это неизбежно. Однажды стырят чекер борова, прикрутят к Си, во крику будет.

     
     
  • 3.93, Аноним (-), 17:01, 08/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >>Си тупо тырят у Раста
    > А это неизбежно. Однажды стырят чекер борова, прикрутят к Си, во крику будет.

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

     
     
  • 4.142, Аноним (142), 09:40, 15/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Будет Си 2.0 с обратной совместимостью. И ничего там не нужно убирать, просто будет свой unsafe.
     

  • 1.83, Аноним (83), 10:22, 08/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Что-то у меня на линковке проекта память вся вытекла.

    Там минимум 12 Гб на процесс нужно.

     
     
  • 2.84, Аноним (84), 10:59, 08/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    17 версия пока тоже очень даже нечего...Устарела конечно уже,но это не так страшно.)
     
     
  • 3.89, anonymous (??), 15:58, 08/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ну, я свопа добавил, он ночку потормозил, и слинковался.
     
  • 2.97, Анонимщик (?), 20:28, 08/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Уже в смартфоны 16ГБ ставят, может быть пора небольшой апгрейд сделать?
     
  • 2.100, Аноним (100), 00:16, 09/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    вранье
    я больше 400 мегабайт на реальных проектах не видел

    даже на статик массивах разного рода с объемом такого табличного исходника размером больше гигабайта
    потребления clang больше 600 мегабайт не поднимается

    а вот в msvc cl с потреблением памяти при компиляции действительно проблемы

    там где clang потребляет 400 мегабайт
    cl берет в 800-1200 мег

     
     
  • 3.122, An (??), 12:55, 10/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Вранье. Шланг жрет память больше msvc
     

  • 1.90, Аноним (90), 16:26, 08/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    >Deducing this

    КРАЙНЕ неудачное предложение. Позволяет обфусцировать исходный код, путём переименовывания this во что угодно программеру, при этом не даёт ничего принципиально нового.

     
  • 1.120, Аноним (120), 12:29, 10/03/2024 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    Судя по

    https://github.com/orgs/lxqt/projects/4

    Кто-то бы сказал, что не готов. Но когда ты любишь вяленый, ты не замечаешь этих мелочей.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру